Struct http_header::QueryString [−][src]
pub struct QueryString { /* fields omitted */ }
This crate has been renamed to http_tiny; you’re using an outdated version
Expand description
A query string
Warning
The query parser is pretty simple and basically parses any key
or key=
or key=value
component without further
validation.
The following rules apply:
- the query string MUST NOT begin with a
?
– it’s not a bug, it’s a feature: this allows the parser to parse query query strings in the body (e.g. from HTML forms) - keys don’t need a value (i.e.
key0&key1
is valid) - keys can have an empty value (i.e.
key0=&key1=
is valid) - keys can have a non-empty value (i.e.
key0=value0&key1=value1
is valid) - empty keys/key-value pairs are ignored (i.e.
&
evaluates to[]
,key0&&key1
evaluates to["key0": "", "key1": ""]
and=value0&key1=value1&
evaluates to["key1": "value1"]
)
Implementations
👎 Deprecated: This crate has been renamed to http_tiny; you’re using an outdated version
This crate has been renamed to http_tiny; you’re using an outdated version
Creates a new header field map
👎 Deprecated: This crate has been renamed to http_tiny; you’re using an outdated version
This crate has been renamed to http_tiny; you’re using an outdated version
Gets the value for the field with the given name
👎 Deprecated: This crate has been renamed to http_tiny; you’re using an outdated version
This crate has been renamed to http_tiny; you’re using an outdated version
Sets the value for a fiels with the given name
👎 Deprecated: This crate has been renamed to http_tiny; you’re using an outdated version
This crate has been renamed to http_tiny; you’re using an outdated version
Reads a query string
Methods from Deref<Target = BTreeMap<Vec<u8>, Vec<u8>>>
Returns a reference to the value corresponding to the key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
Basic usage:
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(1, "a");
assert_eq!(map.get(&1), Some(&"a"));
assert_eq!(map.get(&2), None);
Returns the key-value pair corresponding to the supplied key.
The supplied key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(1, "a");
assert_eq!(map.get_key_value(&1), Some((&1, &"a")));
assert_eq!(map.get_key_value(&2), None);
🔬 This is a nightly-only experimental API. (map_first_last
)
map_first_last
)Returns the first key-value pair in the map. The key in this pair is the minimum key in the map.
Examples
Basic usage:
#![feature(map_first_last)]
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
assert_eq!(map.first_key_value(), None);
map.insert(1, "b");
map.insert(2, "a");
assert_eq!(map.first_key_value(), Some((&1, &"b")));
🔬 This is a nightly-only experimental API. (map_first_last
)
map_first_last
)Returns the last key-value pair in the map. The key in this pair is the maximum key in the map.
Examples
Basic usage:
#![feature(map_first_last)]
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(1, "b");
map.insert(2, "a");
assert_eq!(map.last_key_value(), Some((&2, &"a")));
Returns true
if the map contains a value for the specified key.
The key may be any borrowed form of the map’s key type, but the ordering on the borrowed form must match the ordering on the key type.
Examples
Basic usage:
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(1, "a");
assert_eq!(map.contains_key(&1), true);
assert_eq!(map.contains_key(&2), false);
Constructs a double-ended iterator over a sub-range of elements in the map.
The simplest way is to use the range syntax min..max
, thus range(min..max)
will
yield elements from min (inclusive) to max (exclusive).
The range may also be entered as (Bound<T>, Bound<T>)
, so for example
range((Excluded(4), Included(10)))
will yield a left-exclusive, right-inclusive
range from 4 to 10.
Panics
Panics if range start > end
.
Panics if range start == end
and both bounds are Excluded
.
Examples
Basic usage:
use std::collections::BTreeMap;
use std::ops::Bound::Included;
let mut map = BTreeMap::new();
map.insert(3, "a");
map.insert(5, "b");
map.insert(8, "c");
for (&key, &value) in map.range((Included(&4), Included(&8))) {
println!("{}: {}", key, value);
}
assert_eq!(Some((&5, &"b")), map.range(4..).next());
Gets an iterator over the entries of the map, sorted by key.
Examples
Basic usage:
use std::collections::BTreeMap;
let mut map = BTreeMap::new();
map.insert(3, "c");
map.insert(2, "b");
map.insert(1, "a");
for (key, value) in map.iter() {
println!("{}: {}", key, value);
}
let (first_key, first_value) = map.iter().next().unwrap();
assert_eq!((*first_key, *first_value), (1, "a"));
Gets an iterator over the keys of the map, in sorted order.
Examples
Basic usage:
use std::collections::BTreeMap;
let mut a = BTreeMap::new();
a.insert(2, "b");
a.insert(1, "a");
let keys: Vec<_> = a.keys().cloned().collect();
assert_eq!(keys, [1, 2]);
Gets an iterator over the values of the map, in order by key.
Examples
Basic usage:
use std::collections::BTreeMap;
let mut a = BTreeMap::new();
a.insert(1, "hello");
a.insert(2, "goodbye");
let values: Vec<&str> = a.values().cloned().collect();
assert_eq!(values, ["hello", "goodbye"]);
Returns the number of elements in the map.
Examples
Basic usage:
use std::collections::BTreeMap;
let mut a = BTreeMap::new();
assert_eq!(a.len(), 0);
a.insert(1, "a");
assert_eq!(a.len(), 1);
Trait Implementations
Returns the “default value” for a type. Read more
The type of the elements being iterated over.
Which kind of iterator are we turning this into?
Auto Trait Implementations
impl RefUnwindSafe for QueryString
impl Send for QueryString
impl Sync for QueryString
impl Unpin for QueryString
impl UnwindSafe for QueryString
Blanket Implementations
Mutably borrows from an owned value. Read more