aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-04-26 22:13:30 -0500
committerbors-servo <metajack+bors@gmail.com>2015-04-26 22:13:30 -0500
commit21c38d0de8e82e29d187929535a73bfd297538b8 (patch)
tree3b3870297cae0b52275550db9e2e889b2187afc5
parent9f2ad9376eaf598898387ea2c26f48c3ceb0330d (diff)
parent0a7a853a0129540c4211da5c1f81dbf7cc638712 (diff)
downloadservo-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.rs12
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() {