Merge pull request #213 from pyfisch/issue211
Fixes #211 and adds one test for it.
This commit is contained in:
@@ -594,6 +594,13 @@ mod tests {
|
||||
assert!(headers.get::<CrazyLength>().is_none());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_trailing_whitespace() {
|
||||
let headers = Headers::from_raw(&mut mem("Content-Length: 10 \r\n\r\n")).unwrap();
|
||||
let ContentLength(_) = *headers.get::<ContentLength>().unwrap();
|
||||
assert!(headers.get::<CrazyLength>().is_none());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_multiple_reads() {
|
||||
let headers = Headers::from_raw(&mut mem("Content-Length: 10\r\n\r\n")).unwrap();
|
||||
|
||||
@@ -544,6 +544,9 @@ pub fn read_header<R: Reader>(stream: &mut R) -> HttpResult<Option<RawHeaderLine
|
||||
}
|
||||
};
|
||||
}
|
||||
// Remove optional trailing whitespace
|
||||
let real_len = value.len() - value.iter().rev().take_while(|&&x| b' ' == x).count();
|
||||
value.truncate(real_len);
|
||||
|
||||
debug!("header value = {}", value[].to_ascii());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user