diff options
author | Philip Lamb <phil.git@eden.net.nz> | 2024-04-12 09:51:23 +1200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-11 21:51:23 +0000 |
commit | 10ec8565eaa0e9e86d3a6506ab1e83d5a41f51c8 (patch) | |
tree | 107d39dc9ceb56eb44c0c65982f3e21c60502835 /components/shared/net/quality.rs | |
parent | 62a25fdcc4165ecafc6f40adc8a3e2c47838e4a3 (diff) | |
download | servo-10ec8565eaa0e9e86d3a6506ab1e83d5a41f51c8.tar.gz servo-10ec8565eaa0e9e86d3a6506ab1e83d5a41f51c8.zip |
Fixes for HTTP header compliance. (#32024)
- Fix 400 errors from nginx in response to Servo requests by implementing conformant albeit non-normative removal of whitespace from `Accept` and `Accept-Language` HTTP headers. (To match behaviour of Firefox, Safari, and Chrome) https://datatracker.ietf.org/doc/html/rfc7231#section-5.3.2
- Provide `Host` header as REQUIRED by HTTP protocol https://www.rfc-editor.org/rfc/rfc9110#field.host
- Update tests.
Diffstat (limited to 'components/shared/net/quality.rs')
-rw-r--r-- | components/shared/net/quality.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/components/shared/net/quality.rs b/components/shared/net/quality.rs index 095cd121bad..aedc2722340 100644 --- a/components/shared/net/quality.rs +++ b/components/shared/net/quality.rs @@ -59,9 +59,9 @@ where fmt::Display::fmt(&self.item, fmt)?; match self.quality.0 { 1000 => Ok(()), - 0 => fmt.write_str("; q=0"), + 0 => fmt.write_str(";q=0"), mut x => { - fmt.write_str("; q=0.")?; + fmt.write_str(";q=0.")?; let mut digits = *b"000"; digits[2] = (x % 10) as u8 + b'0'; x /= 10; @@ -81,7 +81,7 @@ pub fn quality_to_value(q: Vec<QualityItem<Mime>>) -> HeaderValue { &q.iter() .map(|q| q.to_string()) .collect::<Vec<String>>() - .join(", "), + .join(","), ) .unwrap() } |