@@ -73,8 +73,11 @@ public override async Task SendMessageAsync(IJsonRpcMessage message, Cancellatio
7373
7474        try 
7575        { 
76-             var  json  =  JsonSerializer . Serialize ( message ,  McpJsonUtilities . DefaultOptions . GetTypeInfo < IJsonRpcMessage > ( ) ) ; 
77-             _logger . TransportSendingMessage ( EndpointName ,  id ,  json ) ; 
76+             if  ( _logger . IsEnabled ( LogLevel . Debug ) ) 
77+             { 
78+                 var  json  =  JsonSerializer . Serialize ( message ,  McpJsonUtilities . DefaultOptions . GetTypeInfo < IJsonRpcMessage > ( ) ) ; 
79+                 _logger . TransportSendingMessage ( EndpointName ,  id ,  json ) ; 
80+             } 
7881
7982            await  _sseResponseStreamTransport . SendMessageAsync ( message ,  cancellationToken ) . ConfigureAwait ( false ) ; 
8083
@@ -117,13 +120,27 @@ private async Task OnSseConnectionAsync(Stream responseStream, CancellationToken
117120    /// Handles HTTP messages received by the HTTP server provider. 
118121    /// </summary> 
119122    /// <returns>true if the message was accepted (return 202), false otherwise (return 400)</returns> 
120-     private  async  Task < bool >  OnMessageAsync ( string   request ,  CancellationToken  cancellationToken ) 
123+     private  async  Task < bool >  OnMessageAsync ( Stream   requestStream ,  CancellationToken  cancellationToken ) 
121124    { 
122-         _logger . TransportReceivedMessage ( EndpointName ,  request ) ; 
125+         string  request ; 
126+         IJsonRpcMessage ?  message  =  null ; 
127+ 
128+         if  ( _logger . IsEnabled ( LogLevel . Information ) ) 
129+         { 
130+             using  var  reader  =  new  StreamReader ( requestStream ) ; 
131+             request  =  await  reader . ReadToEndAsync ( cancellationToken ) . ConfigureAwait ( false ) ; 
132+             message  =  JsonSerializer . Deserialize ( request ,  McpJsonUtilities . DefaultOptions . GetTypeInfo < IJsonRpcMessage > ( ) ) ; 
133+ 
134+             _logger . TransportReceivedMessage ( EndpointName ,  request ) ; 
135+         } 
136+         else 
137+         { 
138+             request  =  "(Enable information-level logs to see the request)" ; 
139+         } 
123140
124141        try 
125142        { 
126-             var   message  =   JsonSerializer . Deserialize ( request ,  McpJsonUtilities . DefaultOptions . GetTypeInfo < IJsonRpcMessage > ( ) ) ; 
143+             message  ??=   await   JsonSerializer . DeserializeAsync ( requestStream ,  McpJsonUtilities . DefaultOptions . GetTypeInfo < IJsonRpcMessage > ( ) ) ; 
127144            if  ( message  !=  null ) 
128145            { 
129146                string  messageId  =  "(no id)" ; 
0 commit comments