Skip to main content

RequestRouter

Trait RequestRouter 

Source
pub trait RequestRouter: Send + Sync {
    // Required methods
    fn server_info(&self) -> ServerInfo;
    async fn route(
        &self,
        method: &str,
        params: Option<&Value>,
        ctx: &Context<'_>,
    ) -> Result<Value, McpError>;
}
Expand description

Trait for routing requests to handlers.

This trait is implemented by Server with different bounds depending on which handlers are registered.

Required Methods§

Source

fn server_info(&self) -> ServerInfo

Get the server info.

Source

async fn route( &self, method: &str, params: Option<&Value>, ctx: &Context<'_>, ) -> Result<Value, McpError>

Route a request and return the result.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<H, PH> RequestRouter for Server<H, NotRegistered, NotRegistered, Registered<PH>, NotRegistered>
where H: ServerHandler + Send + Sync, PH: PromptHandler + Send + Sync,

Source§

impl<H, RH, PH> RequestRouter for Server<H, NotRegistered, Registered<RH>, Registered<PH>, NotRegistered>

Source§

impl<H, RH> RequestRouter for Server<H, NotRegistered, Registered<RH>, NotRegistered, NotRegistered>

Source§

impl<H, TH, PH> RequestRouter for Server<H, Registered<TH>, NotRegistered, Registered<PH>, NotRegistered>

Source§

impl<H, TH, RH, PH> RequestRouter for Server<H, Registered<TH>, Registered<RH>, Registered<PH>, NotRegistered>

Source§

impl<H, TH, RH> RequestRouter for Server<H, Registered<TH>, Registered<RH>, NotRegistered, NotRegistered>

Source§

impl<H, TH> RequestRouter for Server<H, Registered<TH>, NotRegistered, NotRegistered, NotRegistered>
where H: ServerHandler + Send + Sync, TH: ToolHandler + Send + Sync,

Source§

impl<H> RequestRouter for Server<H, NotRegistered, NotRegistered, NotRegistered, NotRegistered>
where H: ServerHandler + Send + Sync,