I knew speaking at @jsconf 2025 would be hard, because so much of what I had to talk about I learned from @mikeal β and am still learning even now. The goal of the talk was to tell part of that story, a story about how the web isn't finished, yet π‘
all-docs.talks.charlie.dev
Replying to @SlexAxton @peduarte
Dope AF π₯ next time you're in NYC come check out some more of his greatest hits
Replying to @SlexAxton @peduarte
Dope AF π₯ when you're in NYC next come check out some more
π
W T F
mozilla.org/en-US/about/legaβ¦
"When you upload or input information through Firefox, you hereby grant us a nonexclusive, royalty-free, worldwide license to use that information to help you navigate, experience, and interact with online content as you indicate with your use of Firefox."
In the earliest days of @nodejs there was only Response.setHeaders β getHeader and setHeader did not exist.
For middlewares this meant that frameworks had to maintain their own internal bookkeeping of Header mutations for finalization before writing to the HTTP response.
With this in mind, the best place to start is enumerating the assumptions about @nodejs in the most common middlewares ensure those capabilities map to the various specs / runtimes.
For example, WinterCG Request.url is a readonly attribute. Consecutive middlewares that both issue redirects would be impossible regardless of the middleware function signature.
Middlewares today use internal properties they set on the request (e.g. request.originalUrl in express)












