Skip to content

Commit 8c7774a

Browse files
committed
Server transports: remove deprecated methods from builder
Signed-off-by: Daniel Garnier-Moiroux <git@garnier.wf>
1 parent 301dbe4 commit 8c7774a

File tree

3 files changed

+0
-96
lines changed

3 files changed

+0
-96
lines changed

mcp-core/src/main/java/io/modelcontextprotocol/client/transport/HttpClientSseClientTransport.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -240,24 +240,6 @@ public Builder requestBuilder(HttpRequest.Builder requestBuilder) {
240240
return this;
241241
}
242242

243-
/**
244-
* Applies the given consumer to the shared {@link HttpRequest.Builder} <b>once,
245-
* at build time</b>. Any headers set here are frozen into the template and
246-
* <b>cannot be updated</b> after the transport is built.
247-
* @param requestCustomizer the consumer to customize the HTTP request builder
248-
* @return this builder
249-
* @deprecated Use {@link #requestBuilder(HttpRequest.Builder)} for stable
250-
* headers, or {@link #httpRequestCustomizer(McpSyncHttpClientRequestCustomizer)}
251-
* / {@link #asyncHttpRequestCustomizer(McpAsyncHttpClientRequestCustomizer)} for
252-
* dynamic per-request customization.
253-
*/
254-
@Deprecated
255-
public Builder customizeRequest(final Consumer<HttpRequest.Builder> requestCustomizer) {
256-
Assert.notNull(requestCustomizer, "requestCustomizer must not be null");
257-
requestCustomizer.accept(requestBuilder);
258-
return this;
259-
}
260-
261243
/**
262244
* Sets the JSON mapper implementation to use for serialization/deserialization.
263245
* @param jsonMapper the JSON mapper

mcp-core/src/main/java/io/modelcontextprotocol/client/transport/HttpClientStreamableHttpTransport.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -737,24 +737,6 @@ public Builder requestBuilder(HttpRequest.Builder requestBuilder) {
737737
return this;
738738
}
739739

740-
/**
741-
* Applies the given consumer to the shared {@link HttpRequest.Builder} <b>once,
742-
* at build time</b>. Any headers set here are frozen into the template and
743-
* <b>cannot be updated</b> after the transport is built.
744-
* @param requestCustomizer the consumer to customize the HTTP request builder
745-
* @return this builder
746-
* @deprecated Use {@link #requestBuilder(HttpRequest.Builder)} for stable
747-
* headers, or {@link #httpRequestCustomizer(McpSyncHttpClientRequestCustomizer)}
748-
* / {@link #asyncHttpRequestCustomizer(McpAsyncHttpClientRequestCustomizer)} for
749-
* dynamic per-request customization.
750-
*/
751-
@Deprecated
752-
public Builder customizeRequest(final Consumer<HttpRequest.Builder> requestCustomizer) {
753-
Assert.notNull(requestCustomizer, "requestCustomizer must not be null");
754-
requestCustomizer.accept(requestBuilder);
755-
return this;
756-
}
757-
758740
/**
759741
* Configure a custom {@link McpJsonMapper} implementation to use.
760742
* @param jsonMapper instance to use

mcp-test/src/test/java/io/modelcontextprotocol/client/transport/HttpClientSseClientTransportTests.java

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -333,66 +333,6 @@ void testCustomizeClient() {
333333
customizedTransport.closeGracefully().block();
334334
}
335335

336-
@Test
337-
void testCustomizeRequest() {
338-
// Create an atomic boolean to verify the customizer was called
339-
AtomicBoolean customizerCalled = new AtomicBoolean(false);
340-
341-
// Create a reference to store the custom header value
342-
AtomicReference<String> headerName = new AtomicReference<>();
343-
AtomicReference<String> headerValue = new AtomicReference<>();
344-
345-
// Create a transport with the customizer
346-
HttpClientSseClientTransport customizedTransport = HttpClientSseClientTransport.builder(host)
347-
// Create a request customizer that adds a custom header
348-
.customizeRequest(builder -> {
349-
builder.header("X-Custom-Header", "test-value");
350-
customizerCalled.set(true);
351-
352-
// Create a new request to verify the header was set
353-
HttpRequest request = builder.uri(URI.create("http://example.com")).build();
354-
headerName.set("X-Custom-Header");
355-
headerValue.set(request.headers().firstValue("X-Custom-Header").orElse(null));
356-
})
357-
.build();
358-
359-
// Verify the customizer was called
360-
assertThat(customizerCalled.get()).isTrue();
361-
362-
// Verify the header was set correctly
363-
assertThat(headerName.get()).isEqualTo("X-Custom-Header");
364-
assertThat(headerValue.get()).isEqualTo("test-value");
365-
366-
// Clean up
367-
customizedTransport.closeGracefully().block();
368-
}
369-
370-
@Test
371-
void testChainedCustomizations() {
372-
// Create atomic booleans to verify both customizers were called
373-
AtomicBoolean clientCustomizerCalled = new AtomicBoolean(false);
374-
AtomicBoolean requestCustomizerCalled = new AtomicBoolean(false);
375-
376-
// Create a transport with both customizers chained
377-
HttpClientSseClientTransport customizedTransport = HttpClientSseClientTransport.builder(host)
378-
.customizeClient(builder -> {
379-
builder.connectTimeout(Duration.ofSeconds(30));
380-
clientCustomizerCalled.set(true);
381-
})
382-
.customizeRequest(builder -> {
383-
builder.header("X-Api-Key", "test-api-key");
384-
requestCustomizerCalled.set(true);
385-
})
386-
.build();
387-
388-
// Verify both customizers were called
389-
assertThat(clientCustomizerCalled.get()).isTrue();
390-
assertThat(requestCustomizerCalled.get()).isTrue();
391-
392-
// Clean up
393-
customizedTransport.closeGracefully().block();
394-
}
395-
396336
@Test
397337
void testRequestCustomizer() {
398338
var mockCustomizer = mock(McpSyncHttpClientRequestCustomizer.class);

0 commit comments

Comments
 (0)