/shelf

Web server middleware for Dart

Primary LanguageDartBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

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

Package Description Version
shelf A model for web server middleware that encourages composition and easy reuse. pub package
shelf_packages_handler A shelf handler for serving a packages/ directory. pub package
shelf_proxy A shelf handler for proxying HTTP requests to another server. pub package
shelf_router A convenient request router for the shelf web-framework, with support for URL-parameters, nested routers and routers generated from source annotations. pub package
shelf_router_generator A package:build-compatible builder for generating request routers for the shelf web-framework based on source annotations. pub package
shelf_static Static file server support for the shelf package and ecosystem. pub package
shelf_test_handler A Shelf handler that makes it easy to test HTTP interactions. pub package
shelf_web_socket A shelf handler that wires up a listener for every connection. pub package

Publishing automation

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