http icon indicating copy to clipboard operation
http copied to clipboard

The request header does not support uppercase letters

Open arsiac opened this issue 2 years ago • 1 comments

  • file: src/header/name.rs
  • line: 1259
if name_bytes.len() == 0 || name_bytes.len() > super::MAX_HEADER_NAME_LEN || {
    let mut i = 0;
    loop {
        if i >= name_bytes.len() {
            break false;
        } else if HEADER_CHARS_H2[name_bytes[i] as usize] == 0 {
            break true;
        }
        i += 1;
    }
} { 
    ([] as [u8; 0])[0]; // Invalid header name
}

arsiac avatar May 27 '23 16:05 arsiac

Lowercase header names are used as a normalized representation, since header names are case-insensitive in HTTP/1.x and required to be lowercase in HTTP/2.

Also see https://github.com/hyperium/http/issues/228#issuecomment-404996750

robjtede avatar May 29 '23 18:05 robjtede