fix: ensure ssePath for common uses /mcp/sse/common
This commit is contained in:
@@ -61,8 +61,8 @@ public class DynamicMcpServerManager {
|
|||||||
|
|
||||||
return categoryServers.computeIfAbsent(safeCategory, key -> {
|
return categoryServers.computeIfAbsent(safeCategory, key -> {
|
||||||
log.info("Creating dynamic MCP Server for category: {}", key);
|
log.info("Creating dynamic MCP Server for category: {}", key);
|
||||||
String ssePath = "common".equals(key) ? "/mcp/sse" : "/mcp/sse/" + key;
|
String ssePath = "/mcp/sse/" + key;
|
||||||
String msgPath = "common".equals(key) ? "/mcp/message" : "/mcp/message/" + key;
|
String msgPath = "/mcp/message/" + key;
|
||||||
|
|
||||||
WebMvcSseServerTransportProvider transport = WebMvcSseServerTransportProvider.builder()
|
WebMvcSseServerTransportProvider transport = WebMvcSseServerTransportProvider.builder()
|
||||||
.sseEndpoint(ssePath)
|
.sseEndpoint(ssePath)
|
||||||
@@ -116,12 +116,16 @@ public class DynamicMcpServerManager {
|
|||||||
|
|
||||||
public RouterFunction<ServerResponse> getDynamicRouter() {
|
public RouterFunction<ServerResponse> getDynamicRouter() {
|
||||||
return request -> {
|
return request -> {
|
||||||
for (WebMvcSseServerTransportProvider transport : categoryTransports.values()) {
|
log.info("[DynamicMcpRouter] Incoming request path: {}, method: {}", request.path(), request.method());
|
||||||
|
for (Map.Entry<String, WebMvcSseServerTransportProvider> entry : categoryTransports.entrySet()) {
|
||||||
|
WebMvcSseServerTransportProvider transport = entry.getValue();
|
||||||
Optional<HandlerFunction<ServerResponse>> handler = transport.getRouterFunction().route(request);
|
Optional<HandlerFunction<ServerResponse>> handler = transport.getRouterFunction().route(request);
|
||||||
if (handler.isPresent()) {
|
if (handler.isPresent()) {
|
||||||
|
log.info("[DynamicMcpRouter] Matched handler for key: {}", entry.getKey());
|
||||||
return handler;
|
return handler;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
log.info("[DynamicMcpRouter] No handler matched for path: {}", request.path());
|
||||||
return Optional.empty();
|
return Optional.empty();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user