Commit 8ac6652
committed
Handle data-plane redirects explicitly in the client transports
StreamableHTTPClientTransport and SSEClientTransport issue their MCP
requests (POST sends, SSE stream GETs, session DELETE) with
redirect: 'manual' and apply RFC 9110 redirect semantics themselves:
GET redirects are followed for up to 3 hops, with the connection's
configured headers scoped to the endpoint's origin (a cross-origin hop
carries only Accept, MCP-Protocol-Version and Last-Event-ID);
POST/DELETE requests are never re-sent to a Location target and surface
the redirect as SdkHttpError with the new code
ClientHttpRedirectNotFollowed. A redirect response can no longer supply
the mcp-session-id the transport adopts. The new redirectPolicy
transport option ('manual' | 'follow', default 'manual') restores
delegation to the fetch implementation for deployments behind
redirecting infrastructure and for browser runtimes.1 parent 5c8b73e commit 8ac6652
9 files changed
Lines changed: 743 additions & 28 deletions
File tree
- .changeset
- docs/migration
- packages
- client
- src
- client
- test/client
- core-internal
- src/errors
- test/types
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
811 | 811 | | |
812 | 812 | | |
813 | 813 | | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
| 844 | + | |
| 845 | + | |
| 846 | + | |
| 847 | + | |
| 848 | + | |
| 849 | + | |
| 850 | + | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
| 854 | + | |
| 855 | + | |
| 856 | + | |
| 857 | + | |
| 858 | + | |
| 859 | + | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
| 863 | + | |
814 | 864 | | |
815 | 865 | | |
816 | 866 | | |
| |||
848 | 898 | | |
849 | 899 | | |
850 | 900 | | |
851 | | - | |
| 901 | + | |
852 | 902 | | |
853 | 903 | | |
854 | 904 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
| 27 | + | |
26 | 28 | | |
27 | 29 | | |
28 | 30 | | |
| |||
114 | 116 | | |
115 | 117 | | |
116 | 118 | | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
117 | 127 | | |
118 | 128 | | |
119 | 129 | | |
| |||
136 | 146 | | |
137 | 147 | | |
138 | 148 | | |
| 149 | + | |
139 | 150 | | |
140 | 151 | | |
141 | 152 | | |
| |||
158 | 169 | | |
159 | 170 | | |
160 | 171 | | |
| 172 | + | |
161 | 173 | | |
162 | 174 | | |
163 | 175 | | |
| |||
189 | 201 | | |
190 | 202 | | |
191 | 203 | | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
196 | 230 | | |
197 | 231 | | |
198 | 232 | | |
| |||
349 | 383 | | |
350 | 384 | | |
351 | 385 | | |
352 | | - | |
353 | | - | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
354 | 389 | | |
355 | 390 | | |
| 391 | + | |
356 | 392 | | |
357 | | - | |
358 | | - | |
359 | | - | |
360 | | - | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
361 | 396 | | |
362 | 397 | | |
363 | 398 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
| |||
188 | 190 | | |
189 | 191 | | |
190 | 192 | | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
191 | 201 | | |
192 | 202 | | |
193 | 203 | | |
| |||
317 | 327 | | |
318 | 328 | | |
319 | 329 | | |
| 330 | + | |
320 | 331 | | |
321 | 332 | | |
322 | 333 | | |
| |||
355 | 366 | | |
356 | 367 | | |
357 | 368 | | |
| 369 | + | |
358 | 370 | | |
359 | 371 | | |
360 | 372 | | |
| |||
446 | 458 | | |
447 | 459 | | |
448 | 460 | | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
449 | 477 | | |
450 | 478 | | |
451 | 479 | | |
| |||
529 | 557 | | |
530 | 558 | | |
531 | 559 | | |
532 | | - | |
533 | | - | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
534 | 563 | | |
535 | 564 | | |
536 | | - | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
537 | 569 | | |
538 | 570 | | |
539 | 571 | | |
| |||
968 | 1000 | | |
969 | 1001 | | |
970 | 1002 | | |
971 | | - | |
972 | | - | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
973 | 1006 | | |
974 | 1007 | | |
| 1008 | + | |
975 | 1009 | | |
976 | | - | |
977 | | - | |
978 | | - | |
979 | | - | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
980 | 1013 | | |
981 | 1014 | | |
982 | 1015 | | |
| |||
1161 | 1194 | | |
1162 | 1195 | | |
1163 | 1196 | | |
1164 | | - | |
1165 | | - | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
1166 | 1200 | | |
1167 | 1201 | | |
1168 | | - | |
1169 | | - | |
1170 | | - | |
1171 | | - | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
1172 | 1206 | | |
1173 | 1207 | | |
1174 | 1208 | | |
| |||
0 commit comments