(request: Request)
| 336 | const mcpTransports = new Map<string, WebStandardStreamableHTTPServerTransport>(); |
| 337 | |
| 338 | const handleMcp = async (request: Request) => { |
| 339 | if (!isAuthorized(request)) return unauthorized(request); |
| 340 | const sessionId = request.headers.get("mcp-session-id") ?? undefined; |
| 341 | const existing = sessionId ? mcpTransports.get(sessionId) : undefined; |
| 342 | if (sessionId && !existing) return text("Session not found", { status: 404 }); |
| 343 | if (existing) return existing.handleRequest(request); |
| 344 | |
| 345 | const transport = new WebStandardStreamableHTTPServerTransport({ |
| 346 | sessionIdGenerator: () => crypto.randomUUID(), |
| 347 | onsessioninitialized: (sid) => { |
| 348 | mcpTransports.set(sid, transport); |
| 349 | }, |
| 350 | }); |
| 351 | await createMcpServer().connect(transport); |
| 352 | return transport.handleRequest(request); |
| 353 | }; |
| 354 | |
| 355 | const handleRequest = async (request: Request): Promise<Response> => { |
| 356 | const url = new URL(request.url); |
no test coverage detected