Clone this repo:
  1. 39d820d Prepare to publish (#296) by Nate Bosch · 5 days ago master shelf-v1.4.0
  2. 2400c99 shelf_router_generator: fix deprecated code_builder API (#291) by Kevin Moore · 11 days ago
  3. f18dd01 Update dependencies across all packages, require Dart 2.17 (#290) by Kevin Moore · 11 days ago
  4. ca731ab Add a poweredByHeader argument to server (#272) by Nate Bosch · 12 days ago
  5. 6f80ea1 Latest mono_repo, use pubspec field, bump min SDK for router pkgs (#284) by Kevin Moore · 3 weeks ago

Build Status

About Shelf

Shelf makes it easy to create and compose web servers and parts of web servers. How?

  • Expose a small set of simple types.
  • Map server logic into a simple function: a single argument for the request, the response is the return value.
  • Trivially mix and match synchronous and asynchronous processing.
  • Flexibility to return a simple string or a byte stream with the same model.

It was inspired by Connect for NodeJS and Rack for Ruby.

See the package:shelf readme for more information.


shelfA model for web server middleware that encourages composition and easy package
shelf_packages_handlerA shelf handler for serving a packages/ package
shelf_proxyA shelf handler for proxying HTTP requests to another package
shelf_routerA convinent request router for the shelf web-framework, with support for URL-parameters, nested routers and routers generated from source package
shelf_router_generatorA package:build compatible builder for generating request routers for the shelf web-framework based on source package
shelf_staticStatic file server support for the shelf package and package
shelf_test_handlerA Shelf handler that makes it easy to test HTTP package
shelf_web_socketA shelf handler that wires up a listener for every package