repeated headers
This commit is contained in:
@@ -177,7 +177,9 @@ impl Request {
|
||||
K: Into<String>,
|
||||
V: Into<String>,
|
||||
{
|
||||
add_request_header(self, header.into(), value.into());
|
||||
let s = format!("{}: {}", header.into(), value.into());
|
||||
let header = s.parse::<Header>().expect("Failed to parse header");
|
||||
add_header(header, &mut self.headers);
|
||||
self
|
||||
}
|
||||
|
||||
@@ -208,6 +210,26 @@ impl Request {
|
||||
self.get(name).is_some()
|
||||
}
|
||||
|
||||
/// All headers corresponding values for the give name, or empty vector.
|
||||
///
|
||||
/// ```
|
||||
/// let req = ureq::get("/my_page")
|
||||
/// .set("X-Forwarded-For", "1.2.3.4")
|
||||
/// .set("X-Forwarded-For", "2.3.4.5")
|
||||
/// .build();
|
||||
/// assert_eq!(req.get_all("x-forwarded-for"), vec![
|
||||
/// "1.2.3.4",
|
||||
/// "2.3.4.5",
|
||||
/// ]);
|
||||
/// ```
|
||||
pub fn get_all<'a>(&self, name: &'a str) -> Vec<&str> {
|
||||
self.headers
|
||||
.iter()
|
||||
.filter(|h| h.is_name(name))
|
||||
.map(|h| h.value())
|
||||
.collect()
|
||||
}
|
||||
|
||||
/// Set many headers.
|
||||
///
|
||||
/// ```
|
||||
@@ -234,7 +256,9 @@ impl Request {
|
||||
I: IntoIterator<Item = (K, V)>,
|
||||
{
|
||||
for (k, v) in headers.into_iter() {
|
||||
add_request_header(self, k.into(), v.into());
|
||||
let s = format!("{}: {}", k.into(), v.into());
|
||||
let header = s.parse::<Header>().expect("Failed to parse header");
|
||||
add_header(header, &mut self.headers);
|
||||
}
|
||||
self
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user