Merge pull request #571 from garciasdos/main

fix: extra headers when they are a Headers object
This commit is contained in:
Inna Harper 2025-06-27 17:29:06 +01:00 • committed by GitHub
commit 64a60c4ecd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -178,9 +178,12 @@ export class StreamableHTTPClientTransport implements Transport {
headers["mcp-protocol-version"] = this._protocolVersion;
}
return new Headers(
{ ...headers, ...this._requestInit?.headers }
);
const extraHeaders = this._normalizeHeaders(this._requestInit?.headers);
return new Headers({
...headers,
...extraHeaders,
});
}
@ -246,6 +249,20 @@ export class StreamableHTTPClientTransport implements Transport {
}
private _normalizeHeaders(headers: HeadersInit | undefined): Record<string, string> {
if (!headers) return {};
if (headers instanceof Headers) {
return Object.fromEntries(headers.entries());
}
if (Array.isArray(headers)) {
return Object.fromEntries(headers);
}
return { ...headers as Record<string, string> };
}
/**
* Schedule a reconnection attempt with exponential backoff
*