Spaces:
Sleeping
Sleeping
Update server.py
Browse files
server.py
CHANGED
@@ -52,7 +52,7 @@ async def handle_sse(request: Request):
|
|
52 |
placeholder_id = f"placeholder_{id(write_stream)}"
|
53 |
if placeholder_id in write_streams:
|
54 |
write_streams[session_id] = write_streams.pop(placeholder_id)
|
55 |
-
sse_writers[session_id] =
|
56 |
logger.info(f"Updated placeholder {placeholder_id} to session_id {session_id}")
|
57 |
await sse_stream_writer.send({"event": event, "data": data})
|
58 |
|
@@ -61,6 +61,7 @@ async def handle_sse(request: Request):
|
|
61 |
write_stream_reader = write_stream
|
62 |
placeholder_id = f"placeholder_{id(write_stream)}"
|
63 |
write_streams[placeholder_id] = write_stream
|
|
|
64 |
logger.info("Starting MCP server with streams")
|
65 |
await server.run(read_stream, write_stream, server.create_initialization_options())
|
66 |
logger.info("MCP server running")
|
@@ -77,16 +78,17 @@ async def handle_post(request: Request):
|
|
77 |
session_id = request.query_params.get("session_id")
|
78 |
logger.info(f"Received POST with session_id: {session_id}, message: {message}")
|
79 |
|
80 |
-
# Try to find the write_stream, including checking for placeholder IDs
|
81 |
write_stream = write_streams.get(session_id)
|
82 |
sse_writer = sse_writers.get(session_id)
|
83 |
-
if not write_stream:
|
84 |
for sid, ws in list(write_streams.items()):
|
85 |
if sid.startswith("placeholder_"):
|
86 |
write_streams[session_id] = ws
|
|
|
87 |
write_streams.pop(sid)
|
88 |
-
write_stream =
|
89 |
-
sse_writers[session_id]
|
90 |
logger.info(f"Associated placeholder {sid} with session_id {session_id}")
|
91 |
break
|
92 |
|
|
|
52 |
placeholder_id = f"placeholder_{id(write_stream)}"
|
53 |
if placeholder_id in write_streams:
|
54 |
write_streams[session_id] = write_streams.pop(placeholder_id)
|
55 |
+
sse_writers[session_id] = sse_writers.pop(placeholder_id)
|
56 |
logger.info(f"Updated placeholder {placeholder_id} to session_id {session_id}")
|
57 |
await sse_stream_writer.send({"event": event, "data": data})
|
58 |
|
|
|
61 |
write_stream_reader = write_stream
|
62 |
placeholder_id = f"placeholder_{id(write_stream)}"
|
63 |
write_streams[placeholder_id] = write_stream
|
64 |
+
sse_writers[placeholder_id] = sse_stream_writer # Store the SSE writer with placeholder ID
|
65 |
logger.info("Starting MCP server with streams")
|
66 |
await server.run(read_stream, write_stream, server.create_initialization_options())
|
67 |
logger.info("MCP server running")
|
|
|
78 |
session_id = request.query_params.get("session_id")
|
79 |
logger.info(f"Received POST with session_id: {session_id}, message: {message}")
|
80 |
|
81 |
+
# Try to find the write_stream and SSE writer, including checking for placeholder IDs
|
82 |
write_stream = write_streams.get(session_id)
|
83 |
sse_writer = sse_writers.get(session_id)
|
84 |
+
if not write_stream or not sse_writer:
|
85 |
for sid, ws in list(write_streams.items()):
|
86 |
if sid.startswith("placeholder_"):
|
87 |
write_streams[session_id] = ws
|
88 |
+
sse_writers[session_id] = sse_writers.pop(sid, None)
|
89 |
write_streams.pop(sid)
|
90 |
+
write_stream = write_streams[session_id]
|
91 |
+
sse_writer = sse_writers[session_id]
|
92 |
logger.info(f"Associated placeholder {sid} with session_id {session_id}")
|
93 |
break
|
94 |
|