File tree 1 file changed +8
-0
lines changed
mcp-spring/mcp-spring-webflux/src/main/java/io/modelcontextprotocol/client/transport
1 file changed +8
-0
lines changed Original file line number Diff line number Diff line change 5
5
6
6
import java .io .IOException ;
7
7
import java .util .function .BiConsumer ;
8
+ import java .util .function .Consumer ;
8
9
import java .util .function .Function ;
9
10
10
11
import com .fasterxml .jackson .core .type .TypeReference ;
16
17
import io .modelcontextprotocol .util .Assert ;
17
18
import org .slf4j .Logger ;
18
19
import org .slf4j .LoggerFactory ;
20
+ import org .springframework .http .HttpHeaders ;
19
21
import reactor .core .Disposable ;
20
22
import reactor .core .publisher .Flux ;
21
23
import reactor .core .publisher .Mono ;
@@ -235,6 +237,11 @@ else if (MESSAGE_EVENT_TYPE.equals(event.event())) {
235
237
*/
236
238
@ Override
237
239
public Mono <Void > sendMessage (JSONRPCMessage message ) {
240
+ return sendMessage (message , httpHeaders -> {
241
+ });
242
+ }
243
+
244
+ public Mono <Void > sendMessage (JSONRPCMessage message , Consumer <HttpHeaders > mutateHeaders ) {
238
245
// The messageEndpoint is the endpoint URI to send the messages
239
246
// It is provided by the server as part of the endpoint event
240
247
return messageEndpointSink .asMono ().flatMap (messageEndpointUri -> {
@@ -245,6 +252,7 @@ public Mono<Void> sendMessage(JSONRPCMessage message) {
245
252
String jsonText = this .objectMapper .writeValueAsString (message );
246
253
return webClient .post ()
247
254
.uri (messageEndpointUri )
255
+ .headers (mutateHeaders )
248
256
.contentType (MediaType .APPLICATION_JSON )
249
257
.bodyValue (jsonText )
250
258
.retrieve ()
You can’t perform that action at this time.
0 commit comments