-
Notifications
You must be signed in to change notification settings - Fork 30.8k
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
Marking http
client APIs as Legacy
#57277
Comments
I'm ok with it. I don't see how can we reasonably fix some of the problems there are there without massive ecosystem breakage, at least we can start closing some issues/feature requests. |
Wouldn't having a maintained, performant, and built-in http client be a prerequisite? i.e. exposing some of undici directly in core for developers to use? It gets repeated over and over that fetch() performance is not even on par with these legacy APIs which is why I'm wondering if we can point developers to it with clean conscience. |
undici as a whole could replace those http/s apis but not fetch. Fetch is too opinionated and the spec is maintained and controlled by browsers. For example, we doc-deprecated .formData() in undici due to the poor design choices in the spec that could lead to DOSing on the server (see this PR by a Deno member that has been in limbo for over 2 years now). |
+1 but I think we should expose undici |
+1 Tho, exposing at least |
Previous issue about exposing more of |
+1 to the general conclusion above: I agree with this general direction of travel, fetch is absolutely not a full substitute for Working out the next steps required to start exposing undici and what Do some of the Undici team want to facilitate a summit session to get together and start planning this out? I've worked more on |
@nodejs/undici who will be there in Paris? |
Sorry. I'm super busy with my normal work until end of summer. |
I'll be there 👍 |
I don't think it is necessarily required that we have a full replacement for the legacy apis before we mark them as |
Now that
fetch(...)
has had a while to mature in the runtime and now that most development effort for client-side http is happening in undici, I'd like to propose that we mark all of thehttp
andhttps
module client-side operations as Legacy.As a reminder what Legacy means... it is NOT the same as deprecating. It means that we have no intention of removing the APIs but that a better option is available and we prefer developers to use that better option. It means that the APIs likely will not receive new features but they are still maintained for the purposes of bug and security fixes.
http.get(...)
http.request(...)
http.globalAgent
https.get(...)
https.request(...)
https.globalAgent
@nodejs/http @nodejs/undici
The text was updated successfully, but these errors were encountered: