Add Trace-level logging for JSON-RPC payloads in transports (#1191)

This commit is contained in:
Copilot 2026-01-29 11:26:33 -08:00 • committed by GitHub
commit ee8c485d41
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 90 additions and 2 deletions

View file

@ -80,6 +80,8 @@ internal sealed partial class SseClientSessionTransport : TransportBase
messageId = messageWithId.Id.ToString();
}
LogTransportSendingMessageSensitive(message);
using var httpRequestMessage = new HttpRequestMessage(HttpMethod.Post, _messageEndpoint);
StreamableHttpClientSessionTransport.CopyAdditionalHeaders(httpRequestMessage.Headers, _options.AdditionalHeaders, sessionId: null, protocolVersion: null);
var response = await _httpClient.SendAsync(httpRequestMessage, message, cancellationToken).ConfigureAwait(false);

View file

@ -105,6 +105,8 @@ internal class StreamClientSessionTransport : TransportBase
var json = JsonSerializer.Serialize(message, McpJsonUtilities.JsonContext.Default.JsonRpcMessage);
LogTransportSendingMessageSensitive(Name, json);
using var _ = await _sendLock.LockAsync(cancellationToken).ConfigureAwait(false);
try
{

View file

@ -75,6 +75,8 @@ internal sealed partial class StreamableHttpClientSessionTransport : TransportBa
$"Call {nameof(McpClient)}.{nameof(McpClient.ResumeSessionAsync)} to resume existing sessions.");
}
LogTransportSendingMessageSensitive(message);
using var sendCts = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken, _connectionCts.Token);
cancellationToken = sendCts.Token;