You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: support for Server-Sent Events (SSE) (#2776)
This is a follow up PR on
#2546 and
#2544. It solves a bug
related with 409s (must refetch) in SSE mode and it replaces the
EventSource browser API by the
[fetch-event-source](https://github.com/Azure/fetch-event-source)
library. I refactored the `ShapeStream.#start` method which was becoming
very big and complex. To this end, i split the logic into helper methods
that handle the different parts that need to happen (building the shape
URL, making the request, parsing the response headers, handling the
response body, etc.).
I had to patch the
[fetch-event-source](https://github.com/Azure/fetch-event-source)
library because it relies on browser-specific features such as
`document` and `window` (cf.
Azure/fetch-event-source#41). But we want our
client to also work in server-side JS environments.
I also had to patch the `fetch-event-source` library because it does not
abort the fetch when you pass an already aborted signal. A complete
description of the bug and the fix can be found here:
Azure/fetch-event-source#98.
0 commit comments