8 ms·
AFAIC, WinterTC doesn't specify how to start an HTTP server. Their minimum common API requires, among other things, that the Request and Response interfaces fro
by mark_and_sweep 5mo ago
AFAIC, WinterTC doesn't specify how to start an HTTP server. Their minimum common API requires, among other things, that the Request and Response interfaces from the fetch specification are present. Unfortunately, it does not specify any sort of serve function.
- jFriedensreich 5mo agoBecause an edge runtime should not directly start servers in the first place. You provide handlers that fulfil requests from the system. Edge runtimes that pretend to start the servers in the edge worker context are flawed and ugly from the very start. APIs like that leak implementation details and increase vendor lock-in for no added benefit.
- mark_and_sweep 5mo ago> > I don't understand how none of the alternatives really embrace WinterTC > You provide handlers that fulfil requests from the system. As I said previously, though I wish they were, such handlers are not part of WinterTC. And then again, how those handlers are registered is also not part of WinterTC, which I also wish it were. > APIs like that leak implementation details How? Almost all runtimes, like Bunny Edge Scripting, Cloudflare Workers, Deno, Bun, etc. use the same basic signature for the handler: (request: Request) => Promise<Response> Only how you register said handler is, unfortunately, different for each runtime.