Clone this repo:
  1. b175e9f shelf_static: ignore invalid If-Modified-Since headers (#557) by Muhammad Uvesh · 3 days ago master
  2. 02b5f94 Fix typo in shelf_router docs (#556) by dhairya05 · 5 days ago
  3. 9946de5 build(deps): bump the github-actions group with 3 updates (#554) by dependabot[bot] · 11 days ago
  4. 62d3e4e Add a LICENSE to _shelf_compliance (#552) by Nate Bosch · 2 weeks ago
  5. e023ed6 Tighten pull_request_label workflow permissions (#550) 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.

Packages

PackageDescriptionIssuesVersion
shelfA model for web server middleware that encourages composition and easy reuse.issuespub package
shelf_packages_handlerA shelf handler for serving a packages/ directory.issuespub package
shelf_proxyA shelf handler for proxying HTTP requests to another server.issuespub package
shelf_routerA convenient request router for the shelf web-framework, with support for URL-parameters, nested routers and routers generated from source annotations.issuespub package
shelf_router_generatorA package:build-compatible builder for generating request routers for the shelf web-framework based on source annotations.issuespub package
shelf_staticStatic file server support for the shelf package and ecosystem.issuespub package
shelf_test_handlerA Shelf handler that makes it easy to test HTTP interactions.issuespub package
shelf_web_socketA shelf handler that wires up a listener for every connection.issuespub package
_shelf_complianceHTTP/1.1 compliance and hardening tests.issues(not published)

Publishing automation

For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.