pub struct FunctionResourceTemplateHandler { /* private fields */ }
Expand description
Function-based resource template handler
Implementations§
Source§impl FunctionResourceTemplateHandler
impl FunctionResourceTemplateHandler
Sourcepub fn new<F, Fut>(templates: Vec<ResourceTemplate>, handler: F) -> Selfwhere
F: Fn(ListResourceTemplatesRequest, RequestContext) -> Fut + Send + Sync + 'static,
Fut: Future<Output = ServerResult<ListResourceTemplatesResult>> + Send + 'static,
pub fn new<F, Fut>(templates: Vec<ResourceTemplate>, handler: F) -> Selfwhere
F: Fn(ListResourceTemplatesRequest, RequestContext) -> Fut + Send + Sync + 'static,
Fut: Future<Output = ServerResult<ListResourceTemplatesResult>> + Send + 'static,
Create a new function-based resource template handler
Trait Implementations§
Source§impl ResourceTemplateHandler for FunctionResourceTemplateHandler
impl ResourceTemplateHandler for FunctionResourceTemplateHandler
Source§fn handle<'life0, 'async_trait>(
&'life0 self,
request: ListResourceTemplatesRequest,
ctx: RequestContext,
) -> Pin<Box<dyn Future<Output = ServerResult<ListResourceTemplatesResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn handle<'life0, 'async_trait>(
&'life0 self,
request: ListResourceTemplatesRequest,
ctx: RequestContext,
) -> Pin<Box<dyn Future<Output = ServerResult<ListResourceTemplatesResult>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Handle a list resource templates request
Source§fn get_templates<'life0, 'async_trait>(
&'life0 self,
_ctx: RequestContext,
) -> Pin<Box<dyn Future<Output = ServerResult<Vec<ResourceTemplate>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_templates<'life0, 'async_trait>(
&'life0 self,
_ctx: RequestContext,
) -> Pin<Box<dyn Future<Output = ServerResult<Vec<ResourceTemplate>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get available resource templates
Source§fn get_template<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
_ctx: RequestContext,
) -> Pin<Box<dyn Future<Output = ServerResult<Option<ResourceTemplate>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_template<'life0, 'life1, 'async_trait>(
&'life0 self,
name: &'life1 str,
_ctx: RequestContext,
) -> Pin<Box<dyn Future<Output = ServerResult<Option<ResourceTemplate>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Get a specific template by name
Source§fn validate_uri_template(&self, uri_template: &str) -> ServerResult<()>
fn validate_uri_template(&self, uri_template: &str) -> ServerResult<()>
Validate template URI pattern (RFC 6570)
Source§fn expand_template(
&self,
uri_template: &str,
parameters: &HashMap<String, Value>,
) -> ServerResult<String>
fn expand_template( &self, uri_template: &str, parameters: &HashMap<String, Value>, ) -> ServerResult<String>
Expand URI template with parameters
Source§fn validate_parameters<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_template: &'life1 ResourceTemplate,
_parameters: &'life2 HashMap<String, Value>,
_ctx: RequestContext,
) -> Pin<Box<dyn Future<Output = ServerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn validate_parameters<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_template: &'life1 ResourceTemplate,
_parameters: &'life2 HashMap<String, Value>,
_ctx: RequestContext,
) -> Pin<Box<dyn Future<Output = ServerResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Validate template parameters
Auto Trait Implementations§
impl Freeze for FunctionResourceTemplateHandler
impl !RefUnwindSafe for FunctionResourceTemplateHandler
impl Send for FunctionResourceTemplateHandler
impl Sync for FunctionResourceTemplateHandler
impl Unpin for FunctionResourceTemplateHandler
impl !UnwindSafe for FunctionResourceTemplateHandler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more