Skip to content

Commit ca2f422

Browse files
authored
Merge pull request #1 from tofarr/fix-starlette-sse-endpoint
Fix handle_sse method to match Starlette route endpoint expectations
2 parents fbfca46 + 86601ec commit ca2f422

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

src/mcpm/router/router.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -614,17 +614,19 @@ async def get_sse_server_app(
614614
api_key = None if not self.router_config.auth_enabled else self.router_config.api_key
615615
sse = RouterSseTransport("/messages/", api_key=api_key)
616616

617-
async def handle_sse(request: Request) -> None:
618-
async with sse.connect_sse(
619-
request.scope,
620-
request.receive,
621-
request._send, # noqa: SLF001
622-
) as (read_stream, write_stream):
623-
await self.aggregated_server.run(
624-
read_stream,
625-
write_stream,
626-
self.aggregated_server.initialization_options,
627-
)
617+
async def handle_sse(request: Request):
618+
async def app(scope: Scope, receive: Receive, send: Send) -> None:
619+
async with sse.connect_sse(
620+
scope,
621+
receive,
622+
send,
623+
) as (read_stream, write_stream):
624+
await self.aggregated_server.run(
625+
read_stream,
626+
write_stream,
627+
self.aggregated_server.initialization_options,
628+
)
629+
return app
628630

629631
lifespan_handler: t.Optional[Lifespan[Starlette]] = None
630632
if include_lifespan:

0 commit comments

Comments
 (0)