fetch
undici
fetch | undici | |
---|---|---|
35 | 18 | |
2,078 | 5,769 | |
0.5% | 1.8% | |
5.9 | 9.8 | |
7 days ago | 7 days ago | |
HTML | JavaScript | |
GNU General Public License v3.0 or later | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fetch
- JavaScript fetch does not support GET request with body
-
GitHub Engineering: When MTLS Is Done Wrong
mTLS has warts when used cross-origin. Fetch spec says that pre-flight requests mustn't include client certificates[1], so as a consequence servers behind mTLS authenticated proxy won't get a chance to reply to those pre-flight. Yet for non-preflighted requests it's fine to include client certificates..
[1] https://fetch.spec.whatwg.org/#cors-protocol-and-credentials
-
Node.js fetch() vs. Deno fetch(): Implementation details...
I've been testing full duplex streaming from and to the browser using fetch() in a Native Messaging host. (No browser currently support full duplex streaming even though HTTP/2 does, see Fetch body streams are not full duplex #1254).
-
How do I detect requests initiated by the new fetch standard? How should I detect an AJAX request in general?
Most js libraries use XMLHttpRequest and so provide HTTP_X_REQUESTED_WITH: XMLHttpRequest, but neither Chrome's implementation nor Github's polyfill of the new fetch uses a similar header. So how can one detect that the request is AJAX?
-
Server Sent Events
Any resource of significance should be given a URI. https://www.w3.org/DesignIssues/Axioms.html#uri
Or alternatively,
> Cool URLs don't change (implicitly, cool things have URLs, see above). https://www.w3.org/Provider/Style/URI
The advantage would be so high. It'd become a standard way to assert a resource, to make known a fact, that would be viable across systems. Instead of pushing to a chat app an anonymous chat message in a room, the server could assert a /room/42/msg/c0f3 resource, could identify universally what it is it's sending.
We have come glancingly close to getting such a thing so many times. The HyBi mailing list that begat websockets had a number of alternate more resourceful ideas floating around such as a BEEP protocol that allowed patterns beyond request/response of resources. The browser actually implements an internal protocol that uses HTTP2/push to send resourceful messages... Even though http2/push was de-implemented for webserving in general, and even though ability to hear push events was never implemented (oft requested).
The best we have today is to stream json-ls events, which have an @id property identifying them. But developers would have to snoop these events, and store them in a service worker, to make them actually accessible as http resources.
I continue to hold hope eventually we'll get better at using urls to send data, to assert new things happening... But it's been nearly 30 years of me hoping, and with some fleeting exceptions the browser teams have seemed disinterested in making urls cool, in spite of a number of requests. https://github.com/whatwg/fetch/issues/65 was an old request. https://github.com/whatwg/fetch/issues/607 had some steam in making it happen.
-
[Express] - How to have a self-updating display in browser window? Template Engines sufficient? Or use Vue/Angular/React?]
Fetch
-
Adding timeout and multiple abort signals to fetch() (TypeScript/React)
Proposal: fetch with multiple AbortSignals - I got the idea of merging multiple signals from here.
-
My experience being blocked by Google Safe Browsing
Port 10080 is blocked on most browsers[0] per the WhatWG "bad ports" list[1]. That particular port was added to the list due to the Slipstream attack[2] that made the news a few years ago[3].
You don't have to switch to a browser that ignores standard security mitigations. Just pick a different port for your service.
[0] I just tested Chrome, Firefox, and Safari.
[1] https://fetch.spec.whatwg.org/#bad-port
[2] https://samy.pl/slipstream/
[3] https://news.ycombinator.com/item?id=24955891
-
Substack is now powered by Ghost
Note that caching resources across sites isn't really a thing anymore. See https://github.com/whatwg/fetch/issues/904
- Help with HTTP requests
undici
-
When LIMIT 9 works but LIMIT 10 hangs: A short debugging story
Yeah: interestingly, they had a test for the biggest category of frame, but not for the two other categories: https://github.com/nodejs/undici/blob/main/test/websocket/se...
The test I contributed is very specific to the frame fix I made, but I should probably go back and contribute more tests in send.js that test other lengths too.
-
Is native fetch in v18 faster than dedicated libraries?
The native fetch in Node.js 18 is based on undici.
-
Quickest/fastest http package
Sadly, Undici's slow. Reference issue.
-
Are all fetch API's for Nodejs inefficient in terms of latency ? Cant go lower than 4ms on localhost
Did you try just using the http lib, or even axios/node-fetch? The fetch API in node is very new and looks like there have been concerns about its performance: https://github.com/nodejs/undici/issues/1203
-
I made an Express-like framework for IPC communication
A library that can be handy is Undici - a great HTTP/1.1 client, see here where they apparently added unix:// support: https://github.com/nodejs/undici/pull/226
-
Pull Congressional Data via SMS with the Congress API and JavaScript
Afterwards, create your new project and install our lone requirement [undici](https://github.com/nodejs/undici) to make HTTP requests in Node.js by running:
-
Node JS 18.12.0 goes LTS
Test coverage currently sits at 89%, hopefully will be stable soon.
-
Animal Crossing Simulator Discord Bot
undici
-
Fetch API has finally landed Node v18.0
We implemented fetch API operation with Node without the need for any library imports. The thing to note that under the hood that the fetch implementation is done based on another HTTP client, undici, which is actually a HTTP client written specifically for Node.js. It is an HTTP 1.1 only client.
-
Deno 1.20
> ...enough insights of how much better/faster Deno is
We moved our Deno project to Node because of lack of lower-level APIs on their Conn interfaces [0][1], but otherwise for our use-case (lots of tiny HTTPS connections) Deno absolutely blew Node out-of-the-water. Even at p50 (100tps) Deno (v1.18) was 10x faster than Node (v17.x) [2]
RAM wise, I found Deno (v1.18+) use 10M or so higher for the same code-base.
[0] https://github.com/denoland/deno/issues/13636
[1] https://github.com/denoland/deno/issues/9109
[2] https://github.com/nodejs/undici/issues/1203#issuecomment-10...
What are some alternatives?
cors-anywhere - CORS Anywhere is a NodeJS reverse proxy which adds CORS headers to the proxied request.
axios - Promise based HTTP client for the browser and node.js
deno - A modern runtime for JavaScript and TypeScript.
node-fetch - A light-weight module that brings the Fetch API to Node.js
http-proxy - A full-featured http proxy for node.js
got - 🌐 Human-friendly and powerful HTTP request library for Node.js
cors-playground
request - 🏊🏾 Simplified HTTP request client.
university-domains-list - University Domains and Names Data List & API
undici-fetch - A WHATWG Fetch implementation based on @nodejs/undici
set-cookie-parser - Parse HTTP set-cookie headers in JavaScript
fastify-http-proxy - Proxy your http requests to another server, with hooks.