Expand description
§multidict
The multidict
crate was inspired by Python MultiDict
library
multidict
is useful for working with HTTP headers, URL query, form-data args etc
HTTP Headers and URL query string require specific data structure: multidict
.
It behaves mostly like a regular map but it may have several values for the same key
and preserves insertion ordering
§Examples
Basic MultiDict
creation and filling with data
use multidict::{MultiDict, MultiElement};
let mut map = MultiDict::new();
map.add(MultiElement {
key: "some_key".to_string(),
value: "some_value_1".to_string(),
});
println!("{map}"); // MultiDict < "some_key":"some_value_1" >
map.add(MultiElement {
key: "some_key".to_string(),
value: "some_value_2".to_string(),
});
println!("{map}");
// MultiDict < "some_key":"some_value_1", "some_key":"some_value_2" >
Get all key-values pairs for key
use multidict::{MultiDict, MultiElement};
let mut map = MultiDict::new();
map.add(MultiElement {
key: "some_key".to_string(),
value: "some_value_1".to_string(),
});
map.add(MultiElement {
key: "some_key".to_string(),
value: "some_value_2".to_string(),
});
map.add(MultiElement {
key: "some_other_key".to_string(),
value: "some_value_3".to_string(),
});
println!("{}", map.getall("some_key").unwrap());
// MultiDict < "some_key":"some_value_1", "some_key":"some_value_2" >
MultiDict
debug output
use multidict::{MultiDict, MultiElement};
let mut map = MultiDict::new();
map.add(MultiElement {
key: "some_key".to_string(),
value: "some_value_1".to_string(),
});
map.add(MultiElement {
key: "some_key".to_string(),
value: "some_value_2".to_string(),
});
map.add(MultiElement {
key: "some_other_key".to_string(),
value: "some_value_3".to_string(),
});
println!("{map:?}");
// MultiDict { elements: [
// MultiElement { key: "some_key", value: "some_value_1" },
// MultiElement { key: "some_key", value: "some_value_2" },
// MultiElement { key: "some_other_key", value: "some_value_3" }
// ] }
Structs§
- Multi
Dict MultiDict
- structure which enable to user store multiple similar keys with different values in map-like structure.- Multi
Element MultiElement
- element ofMultiDict
structure Vec.