Wrap each request in a service scope (#276)

* Wrap each request in a service scope

* Change request/notification delegates to return ValueTask

* Address feedback
This commit is contained in:
Stephen Toub 2025-04-11 19:19:12 -04:00 • committed by GitHub
commit f4c87f5e2f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -21,16 +21,16 @@ public class McpServerHandlerTests
Assert.Null(handlers.SubscribeToResourcesHandler);
Assert.Null(handlers.UnsubscribeFromResourcesHandler);
handlers.ListToolsHandler = (p, c) => Task.FromResult(new ListToolsResult());
handlers.CallToolHandler = (p, c) => Task.FromResult(new CallToolResponse());
handlers.ListPromptsHandler = (p, c) => Task.FromResult(new ListPromptsResult());
handlers.GetPromptHandler = (p, c) => Task.FromResult(new GetPromptResult());
handlers.ListResourceTemplatesHandler = (p, c) => Task.FromResult(new ListResourceTemplatesResult());
handlers.ListResourcesHandler = (p, c) => Task.FromResult(new ListResourcesResult());
handlers.ReadResourceHandler = (p, c) => Task.FromResult(new ReadResourceResult());
handlers.CompleteHandler = (p, c) => Task.FromResult(new CompleteResult());
handlers.SubscribeToResourcesHandler = (s, c) => Task.FromResult(new EmptyResult());
handlers.UnsubscribeFromResourcesHandler = (s, c) => Task.FromResult(new EmptyResult());
handlers.ListToolsHandler = async (p, c) => new ListToolsResult();
handlers.CallToolHandler = async (p, c) => new CallToolResponse();
handlers.ListPromptsHandler = async (p, c) => new ListPromptsResult();
handlers.GetPromptHandler = async (p, c) => new GetPromptResult();
handlers.ListResourceTemplatesHandler = async (p, c) => new ListResourceTemplatesResult();
handlers.ListResourcesHandler = async (p, c) => new ListResourcesResult();
handlers.ReadResourceHandler = async (p, c) => new ReadResourceResult();
handlers.CompleteHandler = async (p, c) => new CompleteResult();
handlers.SubscribeToResourcesHandler = async (s, c) => new EmptyResult();
handlers.UnsubscribeFromResourcesHandler = async (s, c) => new EmptyResult();
Assert.NotNull(handlers.ListToolsHandler);
Assert.NotNull(handlers.CallToolHandler);