@@ -296,38 +296,42 @@ impl MessageHandler {
296296 } ;
297297
298298 match message {
299- JSONRPCMessage :: Request ( request) => {
300- trace ! ( "Processing request: {:?}" , request) ;
301- match ( request. method . as_str ( ) , request. id ) {
302- ( "initialize" , Some ( id) ) => {
303- let params: InitializeParams = serde_json:: from_value ( request. params ) ?;
299+ JSONRPCMessage :: Request {
300+ method, id, params, ..
301+ } => {
302+ trace ! ( "Processing request: method={}, id={:?}" , method, id) ;
303+ match method. as_str ( ) {
304+ "initialize" => {
305+ let params: InitializeParams =
306+ serde_json:: from_value ( params. unwrap_or_default ( ) ) ?;
304307 self . handle_initialize ( id, params) . await ?;
305308 }
306309
307- ( "resources/list" , Some ( id ) ) => {
310+ "resources/list" => {
308311 self . handle_resources_list ( id) . await ?;
309312 }
310- ( "resources/read" , Some ( id) ) => {
311- let params: ReadResourceRequest = serde_json:: from_value ( request. params ) ?;
313+ "resources/read" => {
314+ let params: ReadResourceRequest =
315+ serde_json:: from_value ( params. unwrap_or_default ( ) ) ?;
312316 self . handle_resources_read ( id, params. uri ) . await ?;
313317 }
314- ( "resources/subscribe" , Some ( id ) ) => {
318+ "resources/subscribe" => {
315319 let params: SubscribeResourceRequest =
316- serde_json:: from_value ( request . params ) ?;
320+ serde_json:: from_value ( params. unwrap_or_default ( ) ) ?;
317321 self . handle_resources_subscribe ( id, params. uri ) . await ?;
318322 }
319- ( "resources/unsubscribe" , Some ( id ) ) => {
323+ "resources/unsubscribe" => {
320324 let params: UnsubscribeResourceRequest =
321- serde_json:: from_value ( request . params ) ?;
325+ serde_json:: from_value ( params. unwrap_or_default ( ) ) ?;
322326 self . handle_resources_unsubscribe ( id, params. uri ) . await ?;
323327 }
324328
325- ( "tools/list" , Some ( id ) ) => {
329+ "tools/list" => {
326330 self . handle_tools_list ( id) . await ?;
327331 }
328332
329- ( "tools/call" , Some ( id ) ) => {
330- match serde_json:: from_value :: < ToolCallParams > ( request . params ) {
333+ "tools/call" => {
334+ match serde_json:: from_value :: < ToolCallParams > ( params. unwrap_or_default ( ) ) {
331335 Ok ( params) => {
332336 self . handle_tool_call ( id, params) . await ?;
333337 }
@@ -346,18 +350,14 @@ impl MessageHandler {
346350 }
347351 }
348352
349- ( "prompts/list" , Some ( id ) ) => {
353+ "prompts/list" => {
350354 self . handle_prompts_list ( id) . await ?;
351355 }
352356
353- ( method, Some ( id ) ) => {
357+ method => {
354358 self . send_error ( id, -32601 , format ! ( "Method not found: {}" , method) , None )
355359 . await ?;
356360 }
357-
358- ( _, None ) => {
359- debug ! ( "Received notification request - ignoring" ) ;
360- }
361361 }
362362 }
363363
0 commit comments