A fast HTTP request/response parser for Common Lisp with low-level APIs and zero memory allocation during parsing.
A fast HTTP request/response parser for Common Lisp.
Benchmarks show it parses HTTP headers 1.25x faster than a C equivalent, thanks to zero-allocation parsing and optimized structure classes, as highlighted in the performance section.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Handles both HTTP requests and responses with a single parser, simplifying code for bidirectional communication, as noted in the features list.
Callback-driven approach allows incremental processing of HTTP bodies via events like body-callback, ideal for handling large or continuous data streams without memory overhead.
Avoids storing bodies in memory by design, using pointers in callbacks and omitting :store-body options, which is crucial for high-throughput applications as mentioned in the API differences.
The callback-heavy design and low-level functions like parse-request require manual state management, increasing implementation complexity and learning curve beyond simple use cases.
Lacks built-in body storage and has no :force-stream option, forcing developers to handle these aspects themselves, as admitted in the comparison with http-parse.
Raises errors aggressively during parsing, which can be harsh for applications needing to gracefully handle malformed HTTP messages without crashing.
The README explicitly warns that low-level APIs are likely to change, posing a risk for code relying on them and potentially causing breaking changes in future updates.