Skip to content

Commit 14ff4a3

Browse files
authored
Support o.s.h.HttpHeaders from both 6.x and 7.x branches to enable migration to Spring 7 (#639)
1 parent 0980f08 commit 14ff4a3

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/server/transport/WebFluxStreamableServerTransportProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ private Mono<ServerResponse> handleGet(ServerRequest request) {
174174
return ServerResponse.badRequest().build();
175175
}
176176

177-
if (!request.headers().asHttpHeaders().containsKey(HttpHeaders.MCP_SESSION_ID)) {
177+
if (request.headers().header(HttpHeaders.MCP_SESSION_ID).isEmpty()) {
178178
return ServerResponse.badRequest().build(); // TODO: say we need a session
179179
// id
180180
}
@@ -187,7 +187,7 @@ private Mono<ServerResponse> handleGet(ServerRequest request) {
187187
return ServerResponse.notFound().build();
188188
}
189189

190-
if (request.headers().asHttpHeaders().containsKey(HttpHeaders.LAST_EVENT_ID)) {
190+
if (!request.headers().header(HttpHeaders.LAST_EVENT_ID).isEmpty()) {
191191
String lastId = request.headers().asHttpHeaders().getFirst(HttpHeaders.LAST_EVENT_ID);
192192
return ServerResponse.ok()
193193
.contentType(MediaType.TEXT_EVENT_STREAM)
@@ -258,7 +258,7 @@ private Mono<ServerResponse> handlePost(ServerRequest request) {
258258
.bodyValue(initResult));
259259
}
260260

261-
if (!request.headers().asHttpHeaders().containsKey(HttpHeaders.MCP_SESSION_ID)) {
261+
if (request.headers().header(HttpHeaders.MCP_SESSION_ID).isEmpty()) {
262262
return ServerResponse.badRequest().bodyValue(new McpError("Session ID missing"));
263263
}
264264

@@ -313,7 +313,7 @@ private Mono<ServerResponse> handleDelete(ServerRequest request) {
313313
McpTransportContext transportContext = this.contextExtractor.extract(request);
314314

315315
return Mono.defer(() -> {
316-
if (!request.headers().asHttpHeaders().containsKey(HttpHeaders.MCP_SESSION_ID)) {
316+
if (request.headers().header(HttpHeaders.MCP_SESSION_ID).isEmpty()) {
317317
return ServerResponse.badRequest().build(); // TODO: say we need a session
318318
// id
319319
}

mcp-spring/mcp-spring-webmvc/src/main/java/io/modelcontextprotocol/server/transport/WebMvcStreamableServerTransportProvider.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ private ServerResponse handleGet(ServerRequest request) {
240240

241241
McpTransportContext transportContext = this.contextExtractor.extract(request);
242242

243-
if (!request.headers().asHttpHeaders().containsKey(HttpHeaders.MCP_SESSION_ID)) {
243+
if (request.headers().header(HttpHeaders.MCP_SESSION_ID).isEmpty()) {
244244
return ServerResponse.badRequest().body("Session ID required in mcp-session-id header");
245245
}
246246

@@ -263,7 +263,7 @@ private ServerResponse handleGet(ServerRequest request) {
263263
sessionId, sseBuilder);
264264

265265
// Check if this is a replay request
266-
if (request.headers().asHttpHeaders().containsKey(HttpHeaders.LAST_EVENT_ID)) {
266+
if (!request.headers().header(HttpHeaders.LAST_EVENT_ID).isEmpty()) {
267267
String lastId = request.headers().asHttpHeaders().getFirst(HttpHeaders.LAST_EVENT_ID);
268268

269269
try {
@@ -354,7 +354,7 @@ private ServerResponse handlePost(ServerRequest request) {
354354
}
355355

356356
// Handle other messages that require a session
357-
if (!request.headers().asHttpHeaders().containsKey(HttpHeaders.MCP_SESSION_ID)) {
357+
if (request.headers().header(HttpHeaders.MCP_SESSION_ID).isEmpty()) {
358358
return ServerResponse.badRequest().body(new McpError("Session ID missing"));
359359
}
360360

@@ -433,7 +433,7 @@ private ServerResponse handleDelete(ServerRequest request) {
433433

434434
McpTransportContext transportContext = this.contextExtractor.extract(request);
435435

436-
if (!request.headers().asHttpHeaders().containsKey(HttpHeaders.MCP_SESSION_ID)) {
436+
if (request.headers().header(HttpHeaders.MCP_SESSION_ID).isEmpty()) {
437437
return ServerResponse.badRequest().body("Session ID required in mcp-session-id header");
438438
}
439439

0 commit comments

Comments
 (0)