ResourceHandler

Trait ResourceHandler 

Source
pub trait ResourceHandler: Send + Sync {
    // Required methods
    fn handle<'life0, 'async_trait>(
        &'life0 self,
        request: ReadResourceRequest,
        ctx: RequestContext,
    ) -> Pin<Box<dyn Future<Output = ServerResult<ReadResourceResult>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn resource_definition(&self) -> Resource;
    fn exists<'life0, 'life1, 'async_trait>(
        &'life0 self,
        uri: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;

    // Provided method
    fn metadata<'life0, 'life1, 'async_trait>(
        &'life0 self,
        _uri: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Option<HashMap<String, Value>>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait { ... }
}
Expand description

Resource handler trait for processing resource requests

Required Methods§

Source

fn handle<'life0, 'async_trait>( &'life0 self, request: ReadResourceRequest, ctx: RequestContext, ) -> Pin<Box<dyn Future<Output = ServerResult<ReadResourceResult>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Handle a resource read request

Source

fn resource_definition(&self) -> Resource

Get the resource definition

Source

fn exists<'life0, 'life1, 'async_trait>( &'life0 self, uri: &'life1 str, ) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Check if resource exists

Provided Methods§

Source

fn metadata<'life0, 'life1, 'async_trait>( &'life0 self, _uri: &'life1 str, ) -> Pin<Box<dyn Future<Output = Option<HashMap<String, Value>>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Get resource metadata

Implementors§