3 unstable releases
0.2.1 | Aug 2, 2022 |
---|---|
0.2.0 | Jun 28, 2022 |
0.1.0 | Jun 21, 2022 |
#742 in Encoding
16,618 downloads per month
Used in 5 crates
(2 directly)
36KB
962 lines
Yaup - Yet Another URL Params crate
This is a fork of serde_url_params
.
I updated the way of serializing arrays:
Serializing { "food": ["baguette", "with", "cheese"] }
- With
serde_url_params
returnsfood=baguette&food=with&food=cheese
. - With
yaup
it returnsfood=baguette,with,cheese
.
And I got rids of the serialization of embedded structures.
Example
#[derive(Debug, Serialize)]
enum Filter { New, Registered, Blocked }
#[derive(Debug, Serialize)]
struct Params {
cursor: Option<usize>,
per_page: Option<usize>,
username: String,
filter: Vec<Filter>,
}
let params = Params {
cursor: Some(42),
per_page: None,
username: String::from("tamo"),
filter: vec![Filter::New, Filter::Blocked],
};
assert_eq!(
yaup::to_string(¶ms).unwrap(),
"cursor=42&username=boxdot&filter=New,Blocked"
);
License
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this document by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~1.5–2MB
~67K SLoC