Resolve protocol version per request and expose it as ctx.protocol_version (#2886)
This commit is contained in:
parent
c85ccf1c6f
commit
734746a3d9
1 changed files with 175 additions and 28 deletions
|
|
@ -248,11 +248,12 @@ class StreamableHTTPServerTransport:
|
|||
|
||||
metadata = ServerMessageMetadata(
|
||||
request_context=request,
|
||||
protocol_version=protocol_version,
|
||||
close_sse_stream=close_stream_callback,
|
||||
close_standalone_sse_stream=close_standalone_stream_callback,
|
||||
)
|
||||
else:
|
||||
metadata = ServerMessageMetadata(request_context=request)
|
||||
metadata = ServerMessageMetadata(request_context=request, protocol_version=protocol_version)
|
||||
|
||||
return SessionMessage(message, metadata=metadata)
|
||||
|
||||
|
|
@ -506,7 +507,10 @@ class StreamableHTTPServerTransport:
|
|||
await response(scope, receive, send)
|
||||
|
||||
# Process the message after sending the response
|
||||
metadata = ServerMessageMetadata(request_context=request)
|
||||
metadata = ServerMessageMetadata(
|
||||
request_context=request,
|
||||
protocol_version=request.headers.get(MCP_PROTOCOL_VERSION_HEADER, DEFAULT_NEGOTIATED_VERSION),
|
||||
)
|
||||
session_message = SessionMessage(message, metadata=metadata)
|
||||
await writer.send(session_message)
|
||||
|
||||
|
|
@ -529,7 +533,7 @@ class StreamableHTTPServerTransport:
|
|||
|
||||
if self.is_json_response_enabled:
|
||||
# Process the message
|
||||
metadata = ServerMessageMetadata(request_context=request)
|
||||
metadata = ServerMessageMetadata(request_context=request, protocol_version=protocol_version)
|
||||
session_message = SessionMessage(message, metadata=metadata)
|
||||
await writer.send(session_message)
|
||||
try:
|
||||
|
|
|
|||
Loading…
Reference in a new issue