Skip to content

Commit bdea62c

Browse files
refactor: rename _update_headers_for_request to _prepare_request_headers
This better reflects that the method prepares headers for outgoing HTTP requests, not just updating them with context. The method adds both session ID and protocol version headers as needed.
1 parent 07a616a commit bdea62c

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

src/mcp/client/streamable_http.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,7 @@ def __init__(
108108
**self.headers,
109109
}
110110

111-
def _update_headers_with_session(
112-
self, base_headers: dict[str, str]
113-
) -> dict[str, str]:
111+
def _prepare_request_headers(self, base_headers: dict[str, str]) -> dict[str, str]:
114112
"""Update headers with session ID and protocol version if available."""
115113
headers = base_headers.copy()
116114
if self.session_id:
@@ -208,7 +206,7 @@ async def handle_get_stream(
208206
if not self.session_id:
209207
return
210208

211-
headers = self._update_headers_with_session(self.request_headers)
209+
headers = self._prepare_request_headers(self.request_headers)
212210

213211
async with aconnect_sse(
214212
client,
@@ -230,7 +228,7 @@ async def handle_get_stream(
230228

231229
async def _handle_resumption_request(self, ctx: RequestContext) -> None:
232230
"""Handle a resumption request using GET with SSE."""
233-
headers = self._update_headers_with_session(ctx.headers)
231+
headers = self._prepare_request_headers(ctx.headers)
234232
if ctx.metadata and ctx.metadata.resumption_token:
235233
headers[LAST_EVENT_ID] = ctx.metadata.resumption_token
236234
else:
@@ -265,7 +263,7 @@ async def _handle_resumption_request(self, ctx: RequestContext) -> None:
265263

266264
async def _handle_post_request(self, ctx: RequestContext) -> None:
267265
"""Handle a POST request with response processing."""
268-
headers = self._update_headers_with_session(ctx.headers)
266+
headers = self._prepare_request_headers(ctx.headers)
269267
message = ctx.session_message.message
270268
is_initialization = self._is_initialization_request(message)
271269

@@ -441,7 +439,7 @@ async def terminate_session(self, client: httpx.AsyncClient) -> None:
441439
return
442440

443441
try:
444-
headers = self._update_headers_with_session(self.request_headers)
442+
headers = self._prepare_request_headers(self.request_headers)
445443
response = await client.delete(self.url, headers=headers)
446444

447445
if response.status_code == 405:

0 commit comments

Comments
 (0)