Skip to main content

ResourceProvider

Trait ResourceProvider 

Source
pub trait ResourceProvider: Send + Sync {
    // Required methods
    fn list_resources(&self) -> Vec<ResourceDefinition>;
    fn read_resource(
        &self,
        uri: &str,
    ) -> Result<Option<Vec<ResourceContent>>, KernelError>;

    // Provided methods
    fn list_resource_templates(&self) -> Vec<ResourceTemplateDefinition> { ... }
    fn complete_resource_argument(
        &self,
        _uri: &str,
        _argument_name: &str,
        _value: &str,
        _context: &Value,
    ) -> Result<Option<CompletionResult>, KernelError> { ... }
}
Expand description

Trait representing a resource provider.

Required Methods§

Source

fn list_resources(&self) -> Vec<ResourceDefinition>

List the resources this provider exposes.

Source

fn read_resource( &self, uri: &str, ) -> Result<Option<Vec<ResourceContent>>, KernelError>

Read a resource by URI. Returns Ok(None) when the provider does not own the URI.

Provided Methods§

Source

fn list_resource_templates(&self) -> Vec<ResourceTemplateDefinition>

List parameterized resource templates.

Source

fn complete_resource_argument( &self, _uri: &str, _argument_name: &str, _value: &str, _context: &Value, ) -> Result<Option<CompletionResult>, KernelError>

Return completions for a resource template or URI reference.

Implementors§