Add server-side Streamable HTTP transport support (#330)
- Changes IJsonRpcMessage to an abstract base class so RelatedTransport will always be available - Streamable HTTP supports multiple concurrent HTTP request with their own indpendent SSE response streams - RelatedTransport indicates the source or destination of the JsonRpcMessage - Changes the default RequestId to a JSON number for better compatibility with MCP servers in the wild
This commit is contained in:
parent
7d77be68cf
commit
7dcba357d4
1 changed files with 1637 additions and 395 deletions
|
|
@ -13,7 +13,7 @@ namespace ModelContextProtocol.AspNetCore.Tests;
|
|||
|
||||
public class MapMcpTests(ITestOutputHelper testOutputHelper) : KestrelInMemoryTest(testOutputHelper)
|
||||
{
|
||||
private async Task<IMcpClient> ConnectAsync(string? path = null)
|
||||
private async Task<IMcpClient> ConnectAsync(string? path = "/sse")
|
||||
{
|
||||
var sseClientTransportOptions = new SseClientTransportOptions()
|
||||
{
|
||||
|
|
@ -48,9 +48,7 @@ public class MapMcpTests(ITestOutputHelper testOutputHelper) : KestrelInMemoryTe
|
|||
|
||||
[Theory]
|
||||
[InlineData("/a", "/a/sse")]
|
||||
[InlineData("/a", "/a/")]
|
||||
[InlineData("/a/", "/a/sse")]
|
||||
[InlineData("/a/", "/a/")]
|
||||
public async Task CanConnect_WithMcpClient_AfterCustomizingRoute(string routePattern, string requestPath)
|
||||
{
|
||||
Builder.Services.AddMcpServer(options =>
|
||||
|
|
|
|||
Loading…
Reference in a new issue