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.
Package | Description | Issues | Version |
---|---|---|---|
shelf | A model for web server middleware that encourages composition and easy reuse. | ||
shelf_packages_handler | A shelf handler for serving a packages/ directory. |
||
shelf_proxy | A shelf handler for proxying HTTP requests to another server. | ||
shelf_router | A convenient request router for the shelf web-framework, with support for URL-parameters, nested routers and routers generated from source annotations. | ||
shelf_router_generator | A package:build-compatible builder for generating request routers for the shelf web-framework based on source annotations. | ||
shelf_static | Static file server support for the shelf package and ecosystem. | ||
shelf_test_handler | A Shelf handler that makes it easy to test HTTP interactions. | ||
shelf_web_socket | A shelf handler that wires up a listener for every connection. |
For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.