feat: Implement EventSource#2608
Merged
KhafraDev merged 63 commits intonodejs:mainfrom Jan 24, 2024
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is my attempt to implement eventsource into undici and thus into nodejs.
I am currently working on it, of course. EventSourceStream is not working perfect, so that would be my priority. After that I would focus on spec compliance.
But my biggest issue still needs clarification:
EventSource in a Browser UserAgent expects that you can use "withCredentials" option to send cookies with the request. So this is kind of limiting as I assume that node native fetch is not storing any cookies. So maybe we should deviate from the spec and allow maybe like npm:eventsource to pass headers via the options parameter. Thus you could also use the authorization header to connect to a EventSource server.change
@KhafraDev
I am looking forward for some hints regarding expected coding style in undici. E.g. should I replace the private properties to symbols?
Should I integrate wpt tests? Tbh. they are not working out of the box, and needs python.
Looking forward for your feedback.
This relates to...
Rationale
Changes
Features
Bug Fixes
Breaking Changes and Deprecations
Status