diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-04-26 22:13:30 -0500 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-04-26 22:13:30 -0500 |
commit | 21c38d0de8e82e29d187929535a73bfd297538b8 (patch) | |
tree | 3b3870297cae0b52275550db9e2e889b2187afc5 | |
parent | 9f2ad9376eaf598898387ea2c26f48c3ceb0330d (diff) | |
parent | 0a7a853a0129540c4211da5c1f81dbf7cc638712 (diff) | |
download | servo-21c38d0de8e82e29d187929535a73bfd297538b8.tar.gz servo-21c38d0de8e82e29d187929535a73bfd297538b8.zip |
Auto merge of #5424 - bdero:bdero/accept-header, r=jdm
The value of the header is: `text/html;q=0.9,*/*;q=0.8`
Closes #5399
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5424)
<!-- Reviewable:end -->
-rw-r--r-- | components/net/http_loader.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs index 5081d9f8dcb..728435b3179 100644 --- a/components/net/http_loader.rs +++ b/components/net/http_loader.rs @@ -12,7 +12,7 @@ use std::collections::HashSet; use file_loader; use flate2::read::{DeflateDecoder, GzDecoder}; use hyper::client::Request; -use hyper::header::{AcceptEncoding, ContentLength, ContentType, Host, Location}; +use hyper::header::{AcceptEncoding, Accept, ContentLength, ContentType, Host, Location, qitem, Quality, QualityItem}; use hyper::HttpError; use hyper::method::Method; use hyper::mime::{Mime, TopLevel, SubLevel}; @@ -167,6 +167,16 @@ reason: \"certificate verify failed\" }]"; req.headers_mut().set(host); + if !req.headers().has::<Accept>() { + let accept = Accept(vec![ + qitem(Mime(TopLevel::Text, SubLevel::Html, vec![])), + qitem(Mime(TopLevel::Application, SubLevel::Ext("xhtml+xml".to_string()), vec![])), + QualityItem::new(Mime(TopLevel::Application, SubLevel::Xml, vec![]), Quality(900u16)), + QualityItem::new(Mime(TopLevel::Star, SubLevel::Star, vec![]), Quality(800u16)), + ]); + req.headers_mut().set(accept); + } + let (tx, rx) = channel(); cookies_chan.send(ControlMsg::GetCookiesForUrl(url.clone(), tx, CookieSource::HTTP)).unwrap(); if let Some(cookie_list) = rx.recv().unwrap() { |