feat(static): modernize directory listing UI (#507) - Redesign the `listDirectory` HTML output to use a clean, modern, and responsive table layout with system fonts. - Add inline SVG icons to differentiate between files and directories. - Display file sizes and last modified dates the directory views. - Rewrite the internal `listDirector` implementation to use `async/await` with a `StringBuffer` instead of the legacy `StreamController<List<int>>`, simplifying the logic while remaining non-blocking. - Fix example.dart to use `exitCode = 64` and `return` instead of the abrupt `exit(64)` when handling format exceptions during parsing. - Minor markdown formatting fix in `static_handler.dart` documentation.
Shelf makes it easy to create and compose web servers and parts of web servers. How?
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.