undici
llhttp
Our great sponsors
undici | llhttp | |
---|---|---|
18 | 7 | |
5,750 | 1,588 | |
3.1% | 1.8% | |
9.8 | 8.7 | |
4 days ago | 8 days ago | |
JavaScript | TypeScript | |
MIT License | GNU General Public License v3.0 or later |
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.
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...
llhttp
-
Notes: Advanced Node.js Concepts by Stephen Grider
In the source code of the Node.js opensource project, lib folder contains JavaScript code, mostly wrappers over C++ and function definitions. On the contrary, src folder contains C++ implementations of the functions, which pulls dependencies from the V8 project, the libuv project, the zlib project, the llhttp project, and many more - which are all placed at the deps folder.
-
Rest server for embedded system
Some useful libraries include nghttp2 for HTTP/2 and llhttp for HTTP/1.1. Both are network stack and TLS implementation agnostic.
-
Does nodejs intercept http request natively or does it use something to understand http request like wsgi in python ?
There is a HTTP parser directly bundled in node (https://github.com/nodejs/llhttp)
-
Fetch API has landed into Node.js
Those wasm blobs are Node's own llhttp https://github.com/nodejs/llhttp in wasm to speed up HTTP parsing.
The question is totally legitimate but please assume core doesn't make "load random binary" level kind of goofs :)
-
Book recommendations for Backend development concepts for a beginner
For HTTP, you have to look at HTTP parser. For example, https://github.com/nodejs/llhttp is used in NodeJS.
-
The history and reasons behind CORS, and how to use it
Whoa, I didn't know that! But yeah, it seems like https://github.com/nodejs/http-parser is based on nginx. It now uses https://github.com/nodejs/llhttp but has some of the same legacy.
On the other hand, deno's HTTP stuff is built on top of Hyper, a Rust library https://github.com/hyperium/hyper
-
Show HN: Micro HTTP server in 22 lines of C
No, parsing HTTP/1.x is a nightmare and definitely not simple. It wasn't even particularly well defined until 2014 when the original RFCs were modernized, and even now there are bugs reported in HTTP parsers all the time.
Node.js came out in 2009, a full ten years after HTTP/1.1 (RFC 2068) and it's original http-parser is full-on spaghetti code, doesn't conform to the RFCs for performance reasons, and is considered unmaintainable by the author of it's replacement[0]
[0] https://github.com/nodejs/llhttp
What are some alternatives?
axios - Promise based HTTP client for the browser and node.js
HTTP Parser - http request/response parser for c
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
ioccc - My IOCCC submissions and practice.
request - 🏊🏾 Simplified HTTP request client.
ultra - An ultra-small, ultra-fast, web server.
undici-fetch - A WHATWG Fetch implementation based on @nodejs/undici
µWebSockets - Simple, secure & standards compliant web server for the most demanding of applications
fastify-http-proxy - Proxy your http requests to another server, with hooks.
fetch - Fetch Standard