feat: WebClient Streamable HTTP support (#292)

An implementation of Streamable HTTP Client with WebFlux WebClient.
Aside from implementing the specification, several improvements have been incorporated throughout the client-side of the architecture.

The changes cover:
- resilience tests using toxiproxy in testcontainers
- integration tests using updated everything-server with streamableHttp support
- improved logging
- session invalidation handling (both transport session and JSON-RPC concept of session)
- implicit initialization and burst protection (in case of concurrent `Mcp(Sync|Async)Client` use
- more logging, e.g. stdio process lifecycle logs

Related #72, #273, #253, #107, #105

Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
This commit is contained in:
Dariusz Jędrzejczyk 2025-06-10 18:33:40 +02:00 • committed by GitHub
commit 2f944349cc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -63,7 +63,8 @@
<junit.version>5.10.2</junit.version>
<mockito.version>5.17.0</mockito.version>
<testcontainers.version>1.20.4</testcontainers.version>
<byte-buddy.version>1.17.5</byte-buddy.version>
<byte-buddy.version>1.17.5</byte-buddy.version>
<toxiproxy.version>1.21.0</toxiproxy.version>
<slf4j-api.version>2.0.16</slf4j-api.version>
<logback.version>1.5.15</logback.version>