@@ -71,17 +71,14 @@ fn make_service(
7171 session_store : Arc < dyn SessionStore > ,
7272 ct : & CancellationToken ,
7373) -> StreamableHttpService < Calculator , LocalSessionManager > {
74- StreamableHttpService :: new (
75- || Ok ( Calculator :: new ( ) ) ,
76- Default :: default ( ) ,
77- StreamableHttpServerConfig {
78- stateful_mode : true ,
79- sse_keep_alive : None ,
80- cancellation_token : ct. child_token ( ) ,
81- session_store : Some ( session_store) ,
82- ..Default :: default ( )
83- } ,
84- )
74+ StreamableHttpService :: new ( || Ok ( Calculator :: new ( ) ) , Default :: default ( ) , {
75+ let mut cfg = StreamableHttpServerConfig :: default ( ) ;
76+ cfg. stateful_mode = true ;
77+ cfg. sse_keep_alive = None ;
78+ cfg. cancellation_token = ct. child_token ( ) ;
79+ cfg. session_store = Some ( session_store) ;
80+ cfg
81+ } )
8582}
8683
8784// ---------------------------------------------------------------------------
@@ -148,17 +145,14 @@ async fn test_session_state_deleted_from_store_on_delete() -> anyhow::Result<()>
148145 let session_manager = Arc :: new ( LocalSessionManager :: default ( ) ) ;
149146 let ct = CancellationToken :: new ( ) ;
150147
151- let service = StreamableHttpService :: new (
152- || Ok ( Calculator :: new ( ) ) ,
153- session_manager. clone ( ) ,
154- StreamableHttpServerConfig {
155- stateful_mode : true ,
156- sse_keep_alive : None ,
157- cancellation_token : ct. child_token ( ) ,
158- session_store : Some ( store. clone ( ) ) ,
159- ..Default :: default ( )
160- } ,
161- ) ;
148+ let service = StreamableHttpService :: new ( || Ok ( Calculator :: new ( ) ) , session_manager. clone ( ) , {
149+ let mut cfg = StreamableHttpServerConfig :: default ( ) ;
150+ cfg. stateful_mode = true ;
151+ cfg. sse_keep_alive = None ;
152+ cfg. cancellation_token = ct. child_token ( ) ;
153+ cfg. session_store = Some ( store. clone ( ) ) ;
154+ cfg
155+ } ) ;
162156
163157 let router = axum:: Router :: new ( ) . nest_service ( "/mcp" , service) ;
164158 let listener = tokio:: net:: TcpListener :: bind ( "127.0.0.1:0" ) . await ?;
@@ -223,17 +217,14 @@ fn spawn_server(
223217 session_manager : Arc < LocalSessionManager > ,
224218 ct : & CancellationToken ,
225219) -> ( std:: net:: SocketAddr , tokio:: task:: JoinHandle < ( ) > ) {
226- let svc = StreamableHttpService :: new (
227- || Ok ( Calculator :: new ( ) ) ,
228- session_manager,
229- StreamableHttpServerConfig {
230- stateful_mode : true ,
231- sse_keep_alive : None ,
232- cancellation_token : ct. child_token ( ) ,
233- session_store,
234- ..Default :: default ( )
235- } ,
236- ) ;
220+ let svc = StreamableHttpService :: new ( || Ok ( Calculator :: new ( ) ) , session_manager, {
221+ let mut cfg = StreamableHttpServerConfig :: default ( ) ;
222+ cfg. stateful_mode = true ;
223+ cfg. sse_keep_alive = None ;
224+ cfg. cancellation_token = ct. child_token ( ) ;
225+ cfg. session_store = session_store;
226+ cfg
227+ } ) ;
237228 // Use std::net::TcpListener so the port is bound synchronously before
238229 // we return — avoids a race between returning the addr and the server
239230 // actually starting to accept connections.
0 commit comments