The main goals of this parser is:
- Follow specification RFC-2616
- Behave as expected MDN
- Accuracy - parses headers strictly
- Security - Never panics, ensured by fuzzing
- Stability
- No dependecies
Secondary goals are:
- Speed
- Information on why the header was rejected
The parser is strict. Any range where all parts are not syntactically correct and makes sense in the context of the underlying resource will be rejected.
- Make sure CI passes
- Run cargo fuzz
cargo +nightly fuzz run random_string_input
, at least a minute should be good enough. If it doesn't error out it has passed. - Check msrv with for example cargo msrv, if a higher msrv is wanted/needed, bump it so that it's less than or equal to tower-http's
- Update changelog
- Update version
- Publish