-
Notifications
You must be signed in to change notification settings - Fork 255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite module to use fetch, WebStreams, TypeScript and ESM #330
Conversation
BREAKING CHANGE: The module now uses a named export instead of a default export. BREAKING CHANGE: UMD bundle dropped. Use a bundler. BREAKING CHANGE: `headers` in init dict dropped, pass a custom `fetch` function instead. BREAKING CHANGE: HTTP/HTTPS proxy support dropped. Pass a custom `fetch` function instead. BREAKING CHANGE: `https.*` options dropped. Pass a custom `fetch` function that provides an agent/dispatcher instead. BREAKING CHANGE: New default reconnect delay: 3 seconds instead of 1 second. BREAKING CHANGE: Reconnecting after a redirect will now always use the original URL, even if the status code was HTTP 307.
Oh wow. I'm going to need some time to digest all this and give it a proper review. I agree 100% with you that this module needs modernisation. Thanks a lot for doing all this. If I don't reply within a week, don't let that hold this up. I know from experience that your work is top notch @rexxars. |
No rush! I realize there are a lot of changes, tooling etc that makes this harder to review. This is also a big change and dropping compatibility with older runtimes isn't something I take lightly. This will be a major version bump, and users are free to keep using the old version. I am trying out the prerelease ( |
BREAKING CHANGE: The module now uses a named export instead of a default export. BREAKING CHANGE: UMD bundle dropped. Use a bundler. BREAKING CHANGE: `headers` in init dict dropped, pass a custom `fetch` function instead. BREAKING CHANGE: HTTP/HTTPS proxy support dropped. Pass a custom `fetch` function instead. BREAKING CHANGE: `https.*` options dropped. Pass a custom `fetch` function that provides an agent/dispatcher instead. BREAKING CHANGE: New default reconnect delay: 3 seconds instead of 1 second. BREAKING CHANGE: Reconnecting after a redirect will now always use the original URL, even if the status code was HTTP 307.
BREAKING CHANGE: Drop support for Node.js versions below v18 BREAKING CHANGE: The module now uses a named export instead of a default export. BREAKING CHANGE: UMD bundle dropped. Use a bundler. BREAKING CHANGE: `headers` in init dict dropped, pass a custom `fetch` function instead. BREAKING CHANGE: HTTP/HTTPS proxy support dropped. Pass a custom `fetch` function instead. BREAKING CHANGE: `https.*` options dropped. Pass a custom `fetch` function that provides an agent/dispatcher instead. BREAKING CHANGE: New default reconnect delay: 3 seconds instead of 1 second. BREAKING CHANGE: Reconnecting after a redirect will now always use the original URL, even if the status code was HTTP 307.
Full background: #329
Deno tests are failing because it doesn't handle redirects correctly. I've filed a security issue with them - I'd rather not implementing fixes for incorrect fetch implementations in this module.My PR to Deno landed and was released in 2.1.2 - tests are now passing