Skip to content

Commit 4f57678

Browse files
committed
feat(headers): add remove_raw method and corresponding test
It was previously impossible to remove a header set by set_raw() Closes #326
1 parent 41fd8de commit 4f57678

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/header/mod.rs

+13
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,11 @@ impl Headers {
206206
self.data.insert(UniCase(name.into_cow()), Item::new_raw(value));
207207
}
208208

209+
/// Remove a header set by set_raw
210+
pub fn remove_raw(&mut self, name: &str) {
211+
self.data.remove(&UniCase(name.into_cow()));
212+
}
213+
209214
/// Get a reference to the header field's value, if it exists.
210215
pub fn get<H: Header + HeaderFormat>(&self) -> Option<&H> {
211216
self.get_or_parse::<H>().map(|item| {
@@ -662,6 +667,14 @@ mod tests {
662667
assert_eq!(headers.get(), Some(&ContentLength(20)));
663668
}
664669

670+
#[test]
671+
fn test_remove_raw() {
672+
let mut headers = Headers::new();
673+
headers.set_raw("content-LENGTH", vec![b"20".to_vec()]);
674+
headers.remove_raw("content-LENGTH");
675+
assert_eq!(headers.get_raw("Content-length"), None);
676+
}
677+
665678
#[test]
666679
fn test_len() {
667680
let mut headers = Headers::new();

0 commit comments

Comments
 (0)