Web HTTP Library (creationix)

0.0.2 · abandoned · verified Wed Apr 22

The `web` package, also known as `node-web` and authored by `creationix`, is an extremely early-stage (v0.0.2) web/HTTP library for Node.js, last published over a decade ago in January 2013. It was conceived as a lightweight and fast alternative intended to entirely replace Node.js's built-in `http` module and offer a more streamlined approach to web application development than contemporary middleware systems like `connect` or `stack`. Its design was heavily influenced by interface patterns found in `wsgi`, `rack`, `jsgi`, and `strata.js`, emphasizing simple module composition where any function implementing a `(request, respond)` or `(req, res, next)` interface could serve as a valid web application layer. Given its very low version number and the lack of updates for over a decade, this project is considered abandoned and is highly unlikely to be compatible with modern Node.js runtimes or best practices, including native ESM support. Its historical significance lies in exploring alternative HTTP server paradigms during Node.js's formative years.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates creating a basic HTTP server that responds to the root path and passes other requests to the next middleware.

const web = require('web');

const app = web.createServer(function (req, res, next) {
  if (req.url === '/') {
    res.end('Hello World\n');
  } else {
    next(); // Pass control to the next layer
  }
});

// The server object allows for starting and stopping the HTTP listener.
// In a real application, you might add more complex routing or middleware before app.listen.
app.listen(8080, () => {
  console.log('Web server listening on http://localhost:8080/');
  // To stop the server for testing purposes or graceful shutdown:
  // setTimeout(() => {
  //   server.close(() => console.log('Server stopped.'));
  // }, 5000);
});

view raw JSON →