feat(headers): add remove_raw method and corresponding test
It was previously impossible to remove a header set by set_raw() Closes #326
This commit is contained in:
@@ -206,6 +206,11 @@ impl Headers {
|
|||||||
self.data.insert(UniCase(name.into_cow()), Item::new_raw(value));
|
self.data.insert(UniCase(name.into_cow()), Item::new_raw(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Remove a header set by set_raw
|
||||||
|
pub fn remove_raw(&mut self, name: &str) {
|
||||||
|
self.data.remove(&UniCase(name.into_cow()));
|
||||||
|
}
|
||||||
|
|
||||||
/// Get a reference to the header field's value, if it exists.
|
/// Get a reference to the header field's value, if it exists.
|
||||||
pub fn get<H: Header + HeaderFormat>(&self) -> Option<&H> {
|
pub fn get<H: Header + HeaderFormat>(&self) -> Option<&H> {
|
||||||
self.get_or_parse::<H>().map(|item| {
|
self.get_or_parse::<H>().map(|item| {
|
||||||
@@ -662,6 +667,14 @@ mod tests {
|
|||||||
assert_eq!(headers.get(), Some(&ContentLength(20)));
|
assert_eq!(headers.get(), Some(&ContentLength(20)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_remove_raw() {
|
||||||
|
let mut headers = Headers::new();
|
||||||
|
headers.set_raw("content-LENGTH", vec![b"20".to_vec()]);
|
||||||
|
headers.remove_raw("content-LENGTH");
|
||||||
|
assert_eq!(headers.get_raw("Content-length"), None);
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_len() {
|
fn test_len() {
|
||||||
let mut headers = Headers::new();
|
let mut headers = Headers::new();
|
||||||
|
|||||||
Reference in New Issue
Block a user