8 stable releases
2.0.0 | Jan 11, 2019 |
---|---|
1.2.2 | Dec 31, 2018 |
1.2.1 | Sep 22, 2018 |
1.2.0 | Jul 7, 2018 |
1.0.0 | May 25, 2017 |
#511 in Parser implementations
1,801 downloads per month
Used in 6 crates
(4 directly)
10KB
182 lines
accept-language
A tiny library for parsing the Accept-Language header from browsers (as defined here)
Usage
accept-language
is intended to be used by a webserver, probably to decide which languages to serve up to the user based on their preferred language and the languages your application supports.
At it's most basic, it looks like this
extern crate accept_language;
use accept_language::{intersection, parse};
let user_languages = parse("en-US, en-GB;q=0.5");
let common_languages = intersection("en-US, en-GB;q=0.5", vec!["en-US", "de", "en-GB"]);
For more info and to view the full documentation, check them out on docs.rs.
Stability
accept-language
is fuzz tested with cargo-fuzz
. As of 1.2.1
, these are the results of both fuzz tests for parse
and intersection
respectively.
parse
cargo fuzz run -O parse -- -max_total_time=60
...
Done 926619 runs in 61 second(s)
intersection
cargo fuzz run -O intersection -- -max_total_time=60
...
Done 846914 runs in 61 second(s)
Contributing
Contributions are always welcome! If you found a bug, please submit an issue. If you'd like to submit a patch or feature, feel free to submit a pull request. rustfmt should be used to have consistent code formatting throughout the project.
Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.