feat(extension): extract http request part into rmcp extension (#163)

* feat(extension): extract http request part into rmcp extension

* perf(extension): insert extension from one entrypoint
This commit is contained in:
4t145 2025-05-09 10:36:52 +08:00 • committed by GitHub
commit 787cc015b7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -17,6 +17,7 @@ pub struct StructRequest {
pub struct Counter {
counter: Arc<Mutex<i32>>,
}
#[tool(tool_box)]
impl Counter {
#[allow(dead_code)]
@ -194,4 +195,17 @@ impl ServerHandler for Counter {
resource_templates: Vec::new(),
})
}
async fn initialize(
&self,
_request: InitializeRequestParam,
context: RequestContext<RoleServer>,
) -> Result<InitializeResult, McpError> {
if let Some(http_request_part) = context.extensions.get::<axum::http::request::Parts>() {
let initialize_headers = &http_request_part.headers;
let initialize_uri = &http_request_part.uri;
tracing::info!(?initialize_headers, %initialize_uri, "initialize from http server");
}
Ok(self.get_info())
}
}