feat: better http server support (#199)
* feat: better http server support 1. allow user get extensions in tool call. 2. allow user serve sse service without initialization. * fix: fix document test
This commit is contained in:
parent
c1c4c9a0c9
commit
076dc2c2cd
1 changed files with 95 additions and 96 deletions
|
|
@ -1,7 +1,7 @@
|
|||
use std::sync::Arc;
|
||||
|
||||
use rmcp::{
|
||||
ClientHandler, Peer, RoleClient, ServerHandler, ServiceExt,
|
||||
ClientHandler, ServerHandler, ServiceExt,
|
||||
model::{
|
||||
ResourceUpdatedNotificationParam, ServerCapabilities, ServerInfo, SubscribeRequestParam,
|
||||
},
|
||||
|
|
@ -49,7 +49,6 @@ impl ServerHandler for Server {
|
|||
|
||||
pub struct Client {
|
||||
receive_signal: Arc<Notify>,
|
||||
peer: Option<Peer<RoleClient>>,
|
||||
}
|
||||
|
||||
impl ClientHandler for Client {
|
||||
|
|
@ -58,14 +57,6 @@ impl ClientHandler for Client {
|
|||
tracing::info!("Resource updated: {}", uri);
|
||||
self.receive_signal.notify_one();
|
||||
}
|
||||
|
||||
fn set_peer(&mut self, peer: Peer<RoleClient>) {
|
||||
self.peer.replace(peer);
|
||||
}
|
||||
|
||||
fn get_peer(&self) -> Option<Peer<RoleClient>> {
|
||||
self.peer.clone()
|
||||
}
|
||||
}
|
||||
|
||||
#[tokio::test]
|
||||
|
|
@ -85,7 +76,6 @@ async fn test_server_notification() -> anyhow::Result<()> {
|
|||
});
|
||||
let receive_signal = Arc::new(Notify::new());
|
||||
let client = Client {
|
||||
peer: Default::default(),
|
||||
receive_signal: receive_signal.clone(),
|
||||
}
|
||||
.serve(client_transport)
|
||||
|
|
|
|||
Loading…
Reference in a new issue