1.0.3 • Published 2 months ago

serve-fetch v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
2 months ago

serve-fetch

This is a tiny ponyfill that makes it easy to write servers compliant with the WHATWG Fetch Standard. I.e., yu can create a server like this:

export default async function(request) {
    return new Response("hello, i'm a little server...");
}

Where the request parameter is a Request object, and the function returns a Response object. The module exposes three functions:

  • requestFromNodeRequest(nodeRequest)Takes a Node.js [IncomingMessage)(https://nodejs.org/api/http.html#class-httpincomingmessage) and turns it into a Request.
  • applyResponseToNodeResponse(response, nodeResponse)Takes a Response as first parameter, and applies it to the Node.js ServerResponse.
  • createNodeRequestListener(handler)Higher level function utilising the two functions above. It takes a function that turns a Request into a response, like the function in the example above. It returns a handler function that can be passed to the Node.js http.createServer function.

Command Line

This package also includes a command line tool to run simple servers. E.g. with a server like the following stored in the file handler.js:

export default async function(request) {
    return new Response("hello, i'm a little server...");
}

You can start it as a server with:

serve-fetch --port 3000 handler.js

References

At the time of writing, I couldn't find a stand alone package that did what I needed. However, there are implementations as part of other packages, the node-server module for Hono and the WHATWG Node Generic Server Adapter.

1.0.3

2 months ago

1.0.2

4 months ago

1.0.1

4 months ago

1.0.0

4 months ago