mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Add a default Accept-Language header to HTTP requests.
This commit is contained in:
parent
fada22ab53
commit
c8bf60de57
3 changed files with 50 additions and 7 deletions
|
@ -13,9 +13,10 @@ use devtools_traits::{HttpResponse as DevtoolsHttpResponse, NetworkEvent};
|
|||
use flate2::read::{DeflateDecoder, GzDecoder};
|
||||
use hsts::{HstsEntry, HstsList, secure_url};
|
||||
use hyper::Error as HttpError;
|
||||
use hyper::LanguageTag;
|
||||
use hyper::client::{Pool, Request, Response};
|
||||
use hyper::header::{Accept, AcceptEncoding, ContentLength, ContentEncoding, ContentType, Host, Referer};
|
||||
use hyper::header::{Authorization, Basic};
|
||||
use hyper::header::{Authorization, AcceptLanguage, Basic};
|
||||
use hyper::header::{Encoding, Header, Headers, Quality, QualityItem};
|
||||
use hyper::header::{Location, SetCookie, StrictTransportSecurity, UserAgent, qitem};
|
||||
use hyper::http::RawStatus;
|
||||
|
@ -389,6 +390,22 @@ fn set_default_accept(headers: &mut Headers) {
|
|||
}
|
||||
}
|
||||
|
||||
fn set_default_accept_language(headers: &mut Headers) {
|
||||
if headers.has::<AcceptLanguage>() {
|
||||
return;
|
||||
}
|
||||
|
||||
let mut en_us: LanguageTag = Default::default();
|
||||
en_us.language = Some("en".to_owned());
|
||||
en_us.region = Some("US".to_owned());
|
||||
let mut en: LanguageTag = Default::default();
|
||||
en.language = Some("en".to_owned());
|
||||
headers.set(AcceptLanguage(vec![
|
||||
qitem(en_us),
|
||||
QualityItem::new(en, Quality(500)),
|
||||
]));
|
||||
}
|
||||
|
||||
/// https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-state-no-referrer-when-downgrade
|
||||
fn no_ref_when_downgrade_header(referrer_url: Url, url: Url) -> Option<Url> {
|
||||
if referrer_url.scheme() == "https" && url.scheme() != "https" {
|
||||
|
@ -616,6 +633,7 @@ pub fn modify_request_headers(headers: &mut Headers,
|
|||
}
|
||||
|
||||
set_default_accept(headers);
|
||||
set_default_accept_language(headers);
|
||||
set_default_accept_encoding(headers);
|
||||
|
||||
*referrer_url = determine_request_referrer(headers,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue