fetch | deno | |
---|---|---|
35 | 448 | |
2,078 | 92,975 | |
0.5% | 0.3% | |
5.9 | 9.9 | |
6 days ago | 4 days ago | |
HTML | Rust | |
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
deno
-
Bun - The One Tool for All Your JavaScript/Typescript Project's Needs?
NodeJS is the dominant Javascript server runtime environment for Javascript and Typescript (sort of) projects. But over the years, we have seen several attempts to build alternative runtime environments such as Deno and Bun, today’s subject, among others.
-
Bun 1.1
https://github.com/denoland/deno/issues is the ideal place -- we try to triage all incoming issues, the more specific the repro the easier it is to address but we will take a look at everything that comes in.
-
I have created a small anti-depression script
Install Node.js (or Bun, or Deno, or whatever JS runtime you prefer) if it's not there
-
How QUIC is displacing TCP for speed
QUIC is very exciting, after seeing what it can do for performance in Cloudflare network and Cloudflare workers, I can't wait to finally see it in Deno[0] 1.41.
[0] https://github.com/denoland/deno/pull/21942#issuecomment-192...
-
Unison Cloud
So as an end user it's kind of like https://deno.com/ where you buy into a runtime + comes prepacked with DBs (k/v stores), scheduling, and deploy stuff?
> by storing Unison code in a database, keyed by the hash of that code, we gain a perfect incremental compilation cache which is shared among all developers of a project. This is an absolutely WILD feature, but it's fantastic and hard to go back once you've experienced it. I am basically never waiting around for my code to compile - once code has been parsed and typechecked once, by anyone, it's not touched again until it's changed.
Interesting. Whats it like upgrading and managing dependencies in that code? I'd assume it gets more complex when it's not just the Union system but 3rd party plugins (stuff interacting with the OS or other libs).
-
Deno in 2023
~90MB+ at this stage and do now allow compression without erroring out. Deploying ala Golang is not feasible at that level but could well be down the line if this dev branch is picked up again!
The exe output grew from from ~50MB to plus ~90MB from 2021 to 2024: https://github.com/denoland/deno/discussions/9811 which mean Deno is worse than Node.js's pkg solution by a decent margin.
-
Mini site for recommending songs using Svelte & Deno
Behind the scenes is a simple Sveltekit-powered server function to fetch a Spotify client token then find a user's recommendation playlist and its track information. A Deno edge function to performs this data fetch and renders server-side Svelte.
-
Supercharge your app with user extensions using Deno JavaScript runtime
If your application is written in JavaScript, integrating it with JavaScript extensions is a no-brainer. However, Secutils.dev is entirely written in Rust. How would I even begin? Fortunately, I recently came across an excellent blog post series explaining how to implement your JavaScript runtime in a Rust application with Deno:
- Deno, the next-generation JavaScript runtime
- Oxlint – written in Rust – 50-100 Times Faster than ESLint
What are some alternatives?
cors-anywhere - CORS Anywhere is a NodeJS reverse proxy which adds CORS headers to the proxied request.
ASP.NET Core - ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
undici - An HTTP/1.1 client, written from scratch for Node.js
typescript-language-server - TypeScript & JavaScript Language Server
http-proxy - A full-featured http proxy for node.js
pnpm - Fast, disk space efficient package manager
cors-playground
esbuild - An extremely fast bundler for the web
university-domains-list - University Domains and Names Data List & API
bun - Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one
set-cookie-parser - Parse HTTP set-cookie headers in JavaScript
Koa - Expressive middleware for node.js using ES2017 async functions