aboutsummaryrefslogtreecommitdiffstats
path: root/components/shared/net/quality.rs
diff options
context:
space:
mode:
authorPhilip Lamb <phil.git@eden.net.nz>2024-04-12 09:51:23 +1200
committerGitHub <noreply@github.com>2024-04-11 21:51:23 +0000
commit10ec8565eaa0e9e86d3a6506ab1e83d5a41f51c8 (patch)
tree107d39dc9ceb56eb44c0c65982f3e21c60502835 /components/shared/net/quality.rs
parent62a25fdcc4165ecafc6f40adc8a3e2c47838e4a3 (diff)
downloadservo-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.rs6
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()
}