Commit 21db2a6
committed
Implement close_sse_stream and client auto-reconnect (SEP-1699)
Server now supports closing SSE streams mid-operation via close_sse_stream(),
which triggers client reconnection. Client automatically reconnects when the
stream closes after receiving a priming event.
Changes:
- Server transport: Implement close_sse_stream() to close SSE writer
- Server transport: Create callback and pass via ServerMessageMetadata
- Lowlevel server: Thread close_sse_stream callback to RequestContext
- FastMCP Context: Wire close_sse_stream() to call the callback
- Client: Track priming events and auto-reconnect with Last-Event-ID1 parent 1dfe97e commit 21db2a6
File tree
4 files changed
+94
-11
lines changed- src/mcp
- client
- server
- fastmcp
- lowlevel
4 files changed
+94
-11
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
329 | 329 | | |
330 | 330 | | |
331 | 331 | | |
| 332 | + | |
| 333 | + | |
332 | 334 | | |
333 | 335 | | |
334 | 336 | | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
335 | 341 | | |
336 | 342 | | |
337 | 343 | | |
| |||
342 | 348 | | |
343 | 349 | | |
344 | 350 | | |
345 | | - | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
346 | 404 | | |
347 | | - | |
348 | | - | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
349 | 408 | | |
350 | 409 | | |
351 | 410 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1295 | 1295 | | |
1296 | 1296 | | |
1297 | 1297 | | |
1298 | | - | |
1299 | | - | |
1300 | | - | |
1301 | 1298 | | |
1302 | | - | |
| 1299 | + | |
| 1300 | + | |
1303 | 1301 | | |
1304 | 1302 | | |
1305 | 1303 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
680 | 680 | | |
681 | 681 | | |
682 | 682 | | |
683 | | - | |
| 683 | + | |
684 | 684 | | |
| 685 | + | |
685 | 686 | | |
686 | 687 | | |
687 | 688 | | |
688 | 689 | | |
| 690 | + | |
689 | 691 | | |
690 | 692 | | |
691 | 693 | | |
| |||
696 | 698 | | |
697 | 699 | | |
698 | 700 | | |
| 701 | + | |
699 | 702 | | |
700 | 703 | | |
701 | 704 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| 180 | + | |
180 | 181 | | |
181 | 182 | | |
182 | 183 | | |
| |||
202 | 203 | | |
203 | 204 | | |
204 | 205 | | |
205 | | - | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
206 | 226 | | |
207 | 227 | | |
208 | 228 | | |
| |||
485 | 505 | | |
486 | 506 | | |
487 | 507 | | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
488 | 511 | | |
489 | 512 | | |
490 | 513 | | |
| |||
516 | 539 | | |
517 | 540 | | |
518 | 541 | | |
| 542 | + | |
519 | 543 | | |
520 | 544 | | |
521 | 545 | | |
| |||
539 | 563 | | |
540 | 564 | | |
541 | 565 | | |
542 | | - | |
543 | | - | |
| 566 | + | |
544 | 567 | | |
545 | 568 | | |
546 | 569 | | |
| |||
0 commit comments