![node http client node http client](https://raw.githubusercontent.com/mikakaraila/node-red-contrib-opcua/master/images/PROSYS-OPCUA-METHOD-EXAMPLE.png)
Those are my personal primary concerns as a undici developer and those priorities might not align with the priorities of node core and the ecosystem. I'm much in favor of leaving undici outside of core due to ease of development and maintenance. My understanding is that the consensus is that undici is the way forward but there are still questions that remain open. My main point is to understand the long term strategy regarding this Make XMLHttpRequests from the browser Make http requests from node. On the server-side it uses the native node.js http module, while on the client (browser) it uses XMLHttpRequests. It is isomorphic ( it can run in the browser and nodejs with the same codebase). Please note that my intend is not to block anything here. HTTP Node.js v18.0.0 Documentation Node.js v18.0.0 documentation Table of contents HTTP Class: http.Agent new Agent ( options) agent.createConnection (options, callback) agent.keepSocketAlive (socket) agent.reuseSocket (socket, request) stroy () eeSockets agent.getName ( options) agent.maxFreeSockets agent. Axios is a promise-based HTTP Client for node.js and the browser. I think there was some project that was working on making something like citgm for npm packages (something along the lines "will I break you" or something)? However, we would need help to put that into practice. Here are the key points you need to remember about each: Along with Node.js, Axios has the widest compatibility among browsers. Currently it's verified that a new node release doesn't break undici but I assume once undici as the recommended HTTP client something similar should be done for undici releases. Each of the 3 clients I have mentioned above has its own advantages. Node has citgm to watch the impact on the ecosystem. This does not apply to npm packages where users can choose when and how to upgrade semver major. I think LTS strategy makes sense for node core since it's not possible for users to cherry-pick what to or not to upgrade. It would be as any other npm package, if it's not in core. Not sure whether or not that would make sense. Are the same rules applicable to undici once it is the recommended HTTP client? I'm not sure what the strategy in general is here in regards to what is and isn't in core.Ĭore has a well defined maintenance/release strategy including LTS. stream utils such as pipeline and finished (and now destroy) could also more easily live as npm packages. This is an argument that goes back and forth, e.g. Is there already a conclusion regarding moving undici into core?īut I assume the same would be valid for all core components.