Skip to content

Commit 8ab48c6

Browse files
committed
fix
1 parent 112df36 commit 8ab48c6

10 files changed

Lines changed: 26 additions & 51 deletions

File tree

mcp-core/src/main/java/io/modelcontextprotocol/server/transport/HttpServerMcpStatelessServerTransport.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
import reactor.core.publisher.Mono;
1515

1616
import java.util.Map;
17-
import java.util.function.Function;
1817

1918
import static io.modelcontextprotocol.spec.McpSchema.JSONRPC_VERSION;
2019

mcp-core/src/main/java/io/modelcontextprotocol/server/transport/HttpServletSseServerTransportProvider.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -503,8 +503,8 @@ public static class Builder {
503503

504504
private String sseEndpoint = DEFAULT_SSE_ENDPOINT;
505505

506-
private McpTransportContextExtractor<HttpServletRequest> contextExtractor = (
507-
serverRequest) -> McpTransportContext.EMPTY;
506+
private McpTransportContextExtractor<HttpServletRequest> contextExtractor = (
507+
serverRequest) -> McpTransportContext.EMPTY;
508508

509509
private Duration keepAliveInterval;
510510

@@ -594,8 +594,7 @@ public HttpServletSseServerTransportProvider build() {
594594
}
595595
return new HttpServletSseServerTransportProvider(
596596
jsonMapper == null ? McpJsonMapper.getDefault() : jsonMapper, baseUrl, messageEndpoint, sseEndpoint,
597-
keepAliveInterval,
598-
contextExtractor);
597+
keepAliveInterval, contextExtractor);
599598
}
600599

601600
}

mcp-core/src/main/java/io/modelcontextprotocol/server/transport/HttpServletStatelessServerTransport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ public static class Builder {
169169

170170
private String mcpEndpoint = "/mcp";
171171

172-
private McpTransportContextExtractor<HttpServletRequest> contextExtractor = (
173-
serverRequest) -> McpTransportContext.EMPTY;
172+
private McpTransportContextExtractor<HttpServletRequest> contextExtractor = (
173+
serverRequest) -> McpTransportContext.EMPTY;
174174

175175
private Builder() {
176176
// used by a static method

mcp-core/src/main/java/io/modelcontextprotocol/server/transport/HttpServletStreamableServerTransportProvider.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -768,8 +768,8 @@ public static class Builder {
768768

769769
private boolean disallowDelete = false;
770770

771-
private McpTransportContextExtractor<HttpServletRequest> contextExtractor = (
772-
serverRequest) -> McpTransportContext.EMPTY;
771+
private McpTransportContextExtractor<HttpServletRequest> contextExtractor = (
772+
serverRequest) -> McpTransportContext.EMPTY;
773773

774774
private Duration keepAliveInterval;
775775

@@ -842,8 +842,7 @@ public HttpServletStreamableServerTransportProvider build() {
842842
Assert.notNull(this.mcpEndpoint, "MCP endpoint must be set");
843843
return new HttpServletStreamableServerTransportProvider(
844844
jsonMapper == null ? McpJsonMapper.getDefault() : jsonMapper, mcpEndpoint, disallowDelete,
845-
contextExtractor,
846-
keepAliveInterval);
845+
contextExtractor, keepAliveInterval);
847846
}
848847

849848
}

mcp-core/src/test/java/io/modelcontextprotocol/common/AsyncServerMcpTransportContextIntegrationTests.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -91,16 +91,10 @@ public class AsyncServerMcpTransportContextIntegrationTests {
9191
return Mono.just(builder);
9292
};
9393

94-
private final McpTransportContextExtractor<HttpServletRequest> serverContextExtractor = new HttpServletRequestMcpTransportContextExtractor() {
95-
@Override
96-
protected Map<String, Object> metadata(HttpServletRequest r) {
97-
Map<String, Object> m = super.metadata(r);
98-
var headerValue = r.getHeader(HEADER_NAME);
99-
if (headerValue != null) {
100-
m.put("server-side-header-value", headerValue);
101-
}
102-
return m;
103-
}
94+
private final McpTransportContextExtractor<HttpServletRequest> serverContextExtractor = (HttpServletRequest r) -> {
95+
var headerValue = r.getHeader(HEADER_NAME);
96+
return headerValue != null ? McpTransportContext.create(Map.of("server-side-header-value", headerValue))
97+
: McpTransportContext.EMPTY;
10498
};
10599

106100
private final HttpServletStatelessServerTransport statelessServerTransport = HttpServletStatelessServerTransport

mcp-core/src/test/java/io/modelcontextprotocol/common/SyncServerMcpTransportContextIntegrationTests.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,16 +71,10 @@ public class SyncServerMcpTransportContextIntegrationTests {
7171
}
7272
};
7373

74-
private final McpTransportContextExtractor<HttpServletRequest> serverContextExtractor = new HttpServletRequestMcpTransportContextExtractor() {
75-
@Override
76-
protected Map<String, Object> metadata(HttpServletRequest r) {
77-
Map<String, Object> m = super.metadata(r);
78-
var headerValue = r.getHeader(HEADER_NAME);
79-
if (headerValue != null) {
80-
m.put("server-side-header-value", headerValue);
81-
}
82-
return m;
83-
}
74+
private final McpTransportContextExtractor<HttpServletRequest> serverContextExtractor = (HttpServletRequest r) -> {
75+
var headerValue = r.getHeader(HEADER_NAME);
76+
return headerValue != null ? McpTransportContext.create(Map.of("server-side-header-value", headerValue))
77+
: McpTransportContext.EMPTY;
8478
};
8579

8680
private final BiFunction<McpTransportContext, McpSchema.CallToolRequest, McpSchema.CallToolResult> statelessHandler = (

mcp-core/src/test/java/io/modelcontextprotocol/server/HttpServletSseIntegrationTests.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import io.modelcontextprotocol.client.McpClient;
1212
import io.modelcontextprotocol.client.transport.HttpClientSseClientTransport;
13+
import io.modelcontextprotocol.common.McpTransportContext;
1314
import io.modelcontextprotocol.server.McpServer.AsyncSpecification;
1415
import io.modelcontextprotocol.server.McpServer.SyncSpecification;
1516
import io.modelcontextprotocol.server.transport.HttpServletSseServerTransportProvider;
@@ -97,13 +98,7 @@ public void after() {
9798
protected void prepareClients(int port, String mcpEndpoint) {
9899
}
99100

100-
static McpTransportContextExtractor<HttpServletRequest> TEST_CONTEXT_EXTRACTOR = new HttpServletRequestMcpTransportContextExtractor() {
101-
@Override
102-
protected Map<String, Object> metadata(HttpServletRequest r) {
103-
Map<String, Object> m = super.metadata(r);
104-
m.putAll(Map.of("important", "value"));
105-
return m;
106-
}
107-
};
101+
static McpTransportContextExtractor<HttpServletRequest> TEST_CONTEXT_EXTRACTOR = (r) -> McpTransportContext
102+
.create(Map.of("important", "value"));
108103

109104
}

mcp-core/src/test/java/io/modelcontextprotocol/server/HttpServletStreamableIntegrationTests.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
import io.modelcontextprotocol.client.McpClient;
1212
import io.modelcontextprotocol.client.transport.HttpClientStreamableHttpTransport;
13+
import io.modelcontextprotocol.common.McpTransportContext;
1314
import io.modelcontextprotocol.server.McpServer.AsyncSpecification;
1415
import io.modelcontextprotocol.server.McpServer.SyncSpecification;
1516
import io.modelcontextprotocol.server.transport.HttpServletStreamableServerTransportProvider;
@@ -95,13 +96,7 @@ public void after() {
9596
protected void prepareClients(int port, String mcpEndpoint) {
9697
}
9798

98-
static McpTransportContextExtractor<HttpServletRequest> TEST_CONTEXT_EXTRACTOR = new HttpServletRequestMcpTransportContextExtractor() {
99-
@Override
100-
protected Map<String, Object> metadata(HttpServletRequest r) {
101-
Map<String, Object> m = super.metadata(r);
102-
m.putAll(Map.of("important", "value"));
103-
return m;
104-
}
105-
};
99+
static McpTransportContextExtractor<HttpServletRequest> TEST_CONTEXT_EXTRACTOR = (r) -> McpTransportContext
100+
.create(Map.of("important", "value"));
106101

107102
}

mcp-tck-http-httpserver-async/src/test/java/io/modelcontextprotocol/server/http/tck/httpserver/async/AsyncMcpHttpServerSupplier.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ public class AsyncMcpHttpServerSupplier implements McpHttpServerSupplier {
2727
public McpHttpServer get() {
2828
try {
2929
McpJsonMapper jsonMapper = McpJsonMapper.getDefault();
30-
HttpServerMcpStatelessServerTransport<HttpExchange> transport = new HttpServerMcpStatelessServerTransport(
31-
new HttpExchangeMcpTransportContextExtractor());
30+
HttpServerMcpStatelessServerTransport<HttpExchange> transport = new HttpServerMcpStatelessServerTransport<>(
31+
(serverRequest) -> McpTransportContext.EMPTY);
3232
McpServer.StatelessAsyncSpecification spec = McpServer.async(transport)
3333
.jsonSchemaValidator(JsonSchemaValidator.getDefault())
3434
.jsonMapper(jsonMapper)

mcp-tck-http-httpserver-sync/src/test/java/io/modelcontextprotocol/server/httpserver/sync/SyncMcpHttpServerSupplier.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ public class SyncMcpHttpServerSupplier implements McpHttpServerSupplier {
2525
public McpHttpServer get() {
2626
try {
2727
McpJsonMapper jsonMapper = McpJsonMapper.getDefault();
28-
HttpServerMcpStatelessServerTransport<HttpExchange> transport = new HttpServerMcpStatelessServerTransport(
29-
new HttpExchangeMcpTransportContextExtractor());
28+
HttpServerMcpStatelessServerTransport<HttpExchange> transport = new HttpServerMcpStatelessServerTransport<>(
29+
(serverRequest) -> McpTransportContext.EMPTY);
3030
McpServer.StatelessSyncSpecification spec = McpServer.sync(transport)
3131
.jsonSchemaValidator(JsonSchemaValidator.getDefault())
3232
.jsonMapper(jsonMapper)

0 commit comments

Comments
 (0)