mirror of
https://github.com/servo/servo.git
synced 2025-08-07 14:35:33 +01:00
Update Hyper and OpenSSL
This commit is contained in:
parent
f66cae3f96
commit
e527c9a991
32 changed files with 298 additions and 396 deletions
|
@ -10,11 +10,12 @@ path = "lib.rs"
|
|||
doctest = false
|
||||
|
||||
[dependencies]
|
||||
cookie = "0.2"
|
||||
cookie = "0.6"
|
||||
devtools_traits = {path = "../../../components/devtools_traits"}
|
||||
flate2 = "0.2.0"
|
||||
hyper = "0.9.9"
|
||||
hyper_serde = "0.5"
|
||||
hyper = "0.10"
|
||||
hyper-openssl = "0.2"
|
||||
hyper_serde = "0.6"
|
||||
ipc-channel = "0.7"
|
||||
msg = {path = "../../../components/msg"}
|
||||
net = {path = "../../../components/net"}
|
||||
|
|
|
@ -69,7 +69,7 @@ fn fn_cookie_constructor() {
|
|||
let cookie = cookie_rs::Cookie::parse(" baz = bar; Domain = ").unwrap();
|
||||
assert!(Cookie::new_wrapped(cookie.clone(), url, CookieSource::HTTP).is_some());
|
||||
let cookie = Cookie::new_wrapped(cookie, url, CookieSource::HTTP).unwrap();
|
||||
assert!(&**cookie.cookie.domain.as_ref().unwrap() == "example.com");
|
||||
assert!(&**cookie.cookie.domain().as_ref().unwrap() == "example.com");
|
||||
|
||||
// cookie public domains test
|
||||
let cookie = cookie_rs::Cookie::parse(" baz = bar; Domain = gov.ac").unwrap();
|
||||
|
@ -88,11 +88,11 @@ fn fn_cookie_constructor() {
|
|||
|
||||
let cookie = cookie_rs::Cookie::parse(" baz = bar ; Secure; Path = /foo/bar/").unwrap();
|
||||
let cookie = Cookie::new_wrapped(cookie, url, CookieSource::HTTP).unwrap();
|
||||
assert!(cookie.cookie.value == "bar");
|
||||
assert!(cookie.cookie.name == "baz");
|
||||
assert!(cookie.cookie.secure);
|
||||
assert!(&cookie.cookie.path.as_ref().unwrap()[..] == "/foo/bar/");
|
||||
assert!(&cookie.cookie.domain.as_ref().unwrap()[..] == "example.com");
|
||||
assert!(cookie.cookie.value() == "bar");
|
||||
assert!(cookie.cookie.name() == "baz");
|
||||
assert!(cookie.cookie.secure());
|
||||
assert!(&cookie.cookie.path().as_ref().unwrap()[..] == "/foo/bar/");
|
||||
assert!(&cookie.cookie.domain().as_ref().unwrap()[..] == "example.com");
|
||||
assert!(cookie.host_only);
|
||||
|
||||
let u = &ServoUrl::parse("http://example.com/foobar").unwrap();
|
||||
|
@ -125,7 +125,7 @@ fn test_sort_order() {
|
|||
let b = cookie_rs::Cookie::parse("baz=bar;Path=/foo/bar/baz/").unwrap();
|
||||
let b = Cookie::new_wrapped(b, url, CookieSource::HTTP).unwrap();
|
||||
|
||||
assert!(b.cookie.path.as_ref().unwrap().len() > a.cookie.path.as_ref().unwrap().len());
|
||||
assert!(b.cookie.path().as_ref().unwrap().len() > a.cookie.path().as_ref().unwrap().len());
|
||||
assert!(CookieStorage::cookie_comparator(&a, &b) == Ordering::Greater);
|
||||
assert!(CookieStorage::cookie_comparator(&b, &a) == Ordering::Less);
|
||||
assert!(CookieStorage::cookie_comparator(&a, &a_prime) == Ordering::Less);
|
||||
|
@ -136,7 +136,8 @@ fn test_sort_order() {
|
|||
fn add_cookie_to_storage(storage: &mut CookieStorage, url: &ServoUrl, cookie_str: &str)
|
||||
{
|
||||
let source = CookieSource::HTTP;
|
||||
let cookie = Cookie::new_wrapped(cookie_rs::Cookie::parse(cookie_str).unwrap(), url, source).unwrap();
|
||||
let cookie = cookie_rs::Cookie::parse(cookie_str.to_owned()).unwrap();
|
||||
let cookie = Cookie::new_wrapped(cookie, url, source).unwrap();
|
||||
storage.push(cookie, url, source);
|
||||
}
|
||||
|
||||
|
@ -261,7 +262,7 @@ fn add_retrieve_cookies(set_location: &str,
|
|||
let header = Header::parse_header(&[bytes]).unwrap();
|
||||
let SetCookie(cookies) = header;
|
||||
for bare_cookie in cookies {
|
||||
let cookie = Cookie::new_wrapped(bare_cookie, &url, source).unwrap();
|
||||
let cookie = Cookie::from_cookie_string(bare_cookie, &url, source).unwrap();
|
||||
storage.push(cookie, &url, source);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@ fn run(set_location: &str, set_cookies: &[&str], final_location: &str) -> String
|
|||
let header = Header::parse_header(&[bytes]);
|
||||
if let Ok(SetCookie(cookies)) = header {
|
||||
for bare_cookie in cookies {
|
||||
if let Some(cookie) = Cookie::new_wrapped(bare_cookie, &url, source) {
|
||||
if let Some(cookie) = Cookie::from_cookie_string(bare_cookie, &url, source) {
|
||||
storage.push(cookie, &url, source);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,10 +18,10 @@ use hyper::header::{Encoding, Location, Pragma, Quality, QualityItem, SetCookie,
|
|||
use hyper::header::{Headers, Host, HttpDate, Referer as HyperReferer};
|
||||
use hyper::method::Method;
|
||||
use hyper::mime::{Mime, SubLevel, TopLevel};
|
||||
use hyper::net::Openssl;
|
||||
use hyper::server::{Request as HyperRequest, Response as HyperResponse, Server};
|
||||
use hyper::status::StatusCode;
|
||||
use hyper::uri::RequestUri;
|
||||
use hyper_openssl;
|
||||
use msg::constellation_msg::TEST_PIPELINE_ID;
|
||||
use net::fetch::cors_cache::CorsCache;
|
||||
use net::fetch::methods::FetchContext;
|
||||
|
@ -524,9 +524,10 @@ fn test_fetch_with_hsts() {
|
|||
let mut key_path = path.clone();
|
||||
key_path.push("privatekey_for_testing.key");
|
||||
|
||||
let ssl = Openssl::with_cert_and_key(cert_path.into_os_string(), key_path.into_os_string())
|
||||
let ssl = hyper_openssl::OpensslServer::from_files(key_path, cert_path)
|
||||
.unwrap();
|
||||
|
||||
//takes an address and something that implements hyper::net::Ssl
|
||||
let mut server = Server::https("0.0.0.0:0", ssl).unwrap().handle_threads(handler, 1).unwrap();
|
||||
|
||||
let context = FetchContext {
|
||||
|
|
|
@ -511,7 +511,7 @@ fn test_load_doesnt_add_host_to_sts_list_when_url_is_http_even_if_sts_headers_ar
|
|||
#[test]
|
||||
fn test_load_sets_cookies_in_the_resource_manager_when_it_get_set_cookie_header_in_response() {
|
||||
let handler = move |_: HyperRequest, mut response: HyperResponse| {
|
||||
response.headers_mut().set(SetCookie(vec![CookiePair::new("mozillaIs".to_owned(), "theBest".to_owned())]));
|
||||
response.headers_mut().set(SetCookie(vec!["mozillaIs=theBest".to_owned()]));
|
||||
response.send(b"Yay!").unwrap();
|
||||
};
|
||||
let (mut server, url) = make_server(handler);
|
||||
|
@ -543,7 +543,7 @@ fn test_load_sets_cookies_in_the_resource_manager_when_it_get_set_cookie_header_
|
|||
fn test_load_sets_requests_cookies_header_for_url_by_getting_cookies_from_the_resource_manager() {
|
||||
let handler = move |request: HyperRequest, response: HyperResponse| {
|
||||
assert_eq!(request.headers.get::<CookieHeader>(),
|
||||
Some(&CookieHeader(vec![CookiePair::new("mozillaIs".to_owned(), "theBest".to_owned())])));
|
||||
Some(&CookieHeader(vec!["mozillaIs=theBest".to_owned()])));
|
||||
response.send(b"Yay!").unwrap();
|
||||
};
|
||||
let (mut server, url) = make_server(handler);
|
||||
|
@ -581,7 +581,7 @@ fn test_load_sets_requests_cookies_header_for_url_by_getting_cookies_from_the_re
|
|||
fn test_load_sends_cookie_if_nonhttp() {
|
||||
let handler = move |request: HyperRequest, response: HyperResponse| {
|
||||
assert_eq!(request.headers.get::<CookieHeader>(),
|
||||
Some(&CookieHeader(vec![CookiePair::new("mozillaIs".to_owned(), "theBest".to_owned())])));
|
||||
Some(&CookieHeader(vec!["mozillaIs=theBest".to_owned()])));
|
||||
response.send(b"Yay!").unwrap();
|
||||
};
|
||||
let (mut server, url) = make_server(handler);
|
||||
|
@ -618,9 +618,8 @@ fn test_load_sends_cookie_if_nonhttp() {
|
|||
#[test]
|
||||
fn test_cookie_set_with_httponly_should_not_be_available_using_getcookiesforurl() {
|
||||
let handler = move |_: HyperRequest, mut response: HyperResponse| {
|
||||
let mut pair = CookiePair::new("mozillaIs".to_owned(), "theBest".to_owned());
|
||||
pair.httponly = true;
|
||||
response.headers_mut().set(SetCookie(vec![pair]));
|
||||
let pair = vec!["mozillaIs=theBest; HttpOnly".to_owned()];
|
||||
response.headers_mut().set(SetCookie(pair));
|
||||
response.send(b"Yay!").unwrap();
|
||||
};
|
||||
let (mut server, url) = make_server(handler);
|
||||
|
@ -653,9 +652,8 @@ fn test_cookie_set_with_httponly_should_not_be_available_using_getcookiesforurl(
|
|||
#[test]
|
||||
fn test_when_cookie_received_marked_secure_is_ignored_for_http() {
|
||||
let handler = move |_: HyperRequest, mut response: HyperResponse| {
|
||||
let mut pair = CookiePair::new("mozillaIs".to_owned(), "theBest".to_owned());
|
||||
pair.secure = true;
|
||||
response.headers_mut().set(SetCookie(vec![pair]));
|
||||
let pair = vec!["mozillaIs=theBest; Secure".to_owned()];
|
||||
response.headers_mut().set(SetCookie(pair));
|
||||
response.send(b"Yay!").unwrap();
|
||||
};
|
||||
let (mut server, url) = make_server(handler);
|
||||
|
@ -951,14 +949,14 @@ fn test_redirect_from_x_to_y_provides_y_cookies_from_y() {
|
|||
};
|
||||
if path == "/com/" {
|
||||
assert_eq!(request.headers.get(),
|
||||
Some(&CookieHeader(vec![CookiePair::new("mozillaIsNot".to_owned(), "dotOrg".to_owned())])));
|
||||
Some(&CookieHeader(vec!["mozillaIsNot=dotOrg".to_owned()])));
|
||||
let location = shared_url_y.lock().unwrap().as_ref().unwrap().to_string();
|
||||
response.headers_mut().set(Location(location));
|
||||
*response.status_mut() = StatusCode::MovedPermanently;
|
||||
response.send(b"").unwrap();
|
||||
} else if path == "/org/" {
|
||||
assert_eq!(request.headers.get(),
|
||||
Some(&CookieHeader(vec![CookiePair::new("mozillaIs".to_owned(), "theBest".to_owned())])));
|
||||
Some(&CookieHeader(vec!["mozillaIs=theBest".to_owned()])));
|
||||
response.send(b"Yay!").unwrap();
|
||||
} else {
|
||||
panic!("unexpected path {:?}", path)
|
||||
|
@ -1032,7 +1030,7 @@ fn test_redirect_from_x_to_x_provides_x_with_cookie_from_first_response() {
|
|||
response.send(b"").unwrap();
|
||||
} else if path == "/subsequent/" {
|
||||
assert_eq!(request.headers.get(),
|
||||
Some(&CookieHeader(vec![CookiePair::new("mozillaIs".to_owned(), "theBest".to_owned())])));
|
||||
Some(&CookieHeader(vec!["mozillaIs=theBest".to_owned()])));
|
||||
response.send(b"Yay!").unwrap();
|
||||
} else {
|
||||
panic!("unexpected path {:?}", path)
|
||||
|
|
|
@ -6,6 +6,7 @@ extern crate cookie as cookie_rs;
|
|||
extern crate devtools_traits;
|
||||
extern crate flate2;
|
||||
extern crate hyper;
|
||||
extern crate hyper_openssl;
|
||||
extern crate hyper_serde;
|
||||
extern crate ipc_channel;
|
||||
extern crate msg;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue