Optimize hex parsing. (#520) * Optimize hex parsing. The biggest improvement comes from using a `const` string as table. That avoids (potentially) a lazy initialization check on accessing the `_charFlags`. Also, a constant string may have a fixed location in memory. Negating the "is valid hex" and putting the bit in bit 7 allows using `entry.toSigned(8)`, which a smart compiler should be able to turn into a single sign-extending opcode. (Using `(entry & 0x0F) - (entry & 0x80)` works too.) The `missing_whitespace_between_adjacent_strings` lint doesn't understand that not all strings are text. Maybe it shouldn't trigger for strings containing character escapes.
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. | ||
| _shelf_compliance | HTTP/1.1 compliance and hardening tests. | (not published) |
For information about our publishing automation and release process, see https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.