Support o.s.h.HttpHeaders from both 6.x and 7.x branches to enable migration to Spring 7 (#639)

This commit is contained in:
Dmitry Bedrin 2025-10-30 16:27:08 +01:00 • committed by GitHub
commit 14ff4a385d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -174,7 +174,7 @@ public class WebFluxStreamableServerTransportProvider implements McpStreamableSe
return ServerResponse.badRequest().build();
}
if (!request.headers().asHttpHeaders().containsKey(HttpHeaders.MCP_SESSION_ID)) {
if (request.headers().header(HttpHeaders.MCP_SESSION_ID).isEmpty()) {
return ServerResponse.badRequest().build(); // TODO: say we need a session
// id
}
@ -187,7 +187,7 @@ public class WebFluxStreamableServerTransportProvider implements McpStreamableSe
return ServerResponse.notFound().build();
}
if (request.headers().asHttpHeaders().containsKey(HttpHeaders.LAST_EVENT_ID)) {
if (!request.headers().header(HttpHeaders.LAST_EVENT_ID).isEmpty()) {
String lastId = request.headers().asHttpHeaders().getFirst(HttpHeaders.LAST_EVENT_ID);
return ServerResponse.ok()
.contentType(MediaType.TEXT_EVENT_STREAM)
@ -258,7 +258,7 @@ public class WebFluxStreamableServerTransportProvider implements McpStreamableSe
.bodyValue(initResult));
}
if (!request.headers().asHttpHeaders().containsKey(HttpHeaders.MCP_SESSION_ID)) {
if (request.headers().header(HttpHeaders.MCP_SESSION_ID).isEmpty()) {
return ServerResponse.badRequest().bodyValue(new McpError("Session ID missing"));
}
@ -313,7 +313,7 @@ public class WebFluxStreamableServerTransportProvider implements McpStreamableSe
McpTransportContext transportContext = this.contextExtractor.extract(request);
return Mono.defer(() -> {
if (!request.headers().asHttpHeaders().containsKey(HttpHeaders.MCP_SESSION_ID)) {
if (request.headers().header(HttpHeaders.MCP_SESSION_ID).isEmpty()) {
return ServerResponse.badRequest().build(); // TODO: say we need a session
// id
}