aboutsummaryrefslogtreecommitdiffstats
path: root/components/net
diff options
context:
space:
mode:
Diffstat (limited to 'components/net')
-rw-r--r--components/net/Cargo.toml13
-rw-r--r--components/net/about_loader.rs6
-rw-r--r--components/net/blob_loader.rs7
-rw-r--r--components/net/fetch/methods.rs4
-rw-r--r--components/net/http_loader.rs8
-rw-r--r--components/net/lib.rs1
-rw-r--r--components/net/resource_thread.rs8
7 files changed, 29 insertions, 18 deletions
diff --git a/components/net/Cargo.toml b/components/net/Cargo.toml
index 6ee9543b265..1e7d90f10be 100644
--- a/components/net/Cargo.toml
+++ b/components/net/Cargo.toml
@@ -12,14 +12,15 @@ path = "lib.rs"
[dependencies]
bitflags = "0.7"
brotli = "1.0.6"
-content-blocker = "0.2"
-cookie = { version = "0.2.5", features = ["serialize-serde", "serialize-rustc" ] }
+content-blocker = "0.2.1"
+cookie = {version = "0.2.5", features = ["serialize-rustc"]}
device = {git = "https://github.com/servo/devices"}
devtools_traits = {path = "../devtools_traits"}
flate2 = "0.2.0"
-hyper = {version = "0.9.9", features = ["serde-serialization"]}
+hyper = "0.9.9"
+hyper_serde = "0.1.4"
immeta = "0.3.1"
-ipc-channel = "0.4.0"
+ipc-channel = "0.5"
lazy_static = "0.2"
log = "0.3.5"
matches = "0.1"
@@ -36,9 +37,9 @@ rustc-serialize = "0.3"
threadpool = "1.0"
time = "0.1.17"
unicase = "1.4.0"
-url = {version = "1.0.0", features = ["heap_size", "rustc-serialize"]}
+url = {version = "1.2", features = ["heap_size", "rustc-serialize"]}
util = {path = "../util"}
-uuid = {version = "0.2", features = ["v4"]}
+uuid = {version = "0.3", features = ["v4"]}
websocket = "0.17"
[dependencies.webrender_traits]
diff --git a/components/net/about_loader.rs b/components/net/about_loader.rs
index 937c2806eb3..29f598f3cdf 100644
--- a/components/net/about_loader.rs
+++ b/components/net/about_loader.rs
@@ -6,6 +6,7 @@ use file_loader;
use hyper::header::ContentType;
use hyper::http::RawStatus;
use hyper::mime::{Mime, SubLevel, TopLevel};
+use hyper_serde::Serde;
use mime_classifier::MimeClassifier;
use net_traits::ProgressMsg::Done;
use net_traits::response::HttpsState;
@@ -33,10 +34,11 @@ pub fn factory(mut load_data: LoadData,
"blank" => {
let metadata = Metadata {
final_url: load_data.url,
- content_type: Some(ContentType(Mime(TopLevel::Text, SubLevel::Html, vec![]))),
+ content_type:
+ Some(Serde(ContentType(Mime(TopLevel::Text, SubLevel::Html, vec![])))),
charset: Some("utf-8".to_owned()),
headers: None,
- status: Some(RawStatus(200, "OK".into())),
+ status: Some(Serde(RawStatus(200, "OK".into()))),
https_state: HttpsState::None,
referrer: None,
};
diff --git a/components/net/blob_loader.rs b/components/net/blob_loader.rs
index 0783afd979a..0c9e858be36 100644
--- a/components/net/blob_loader.rs
+++ b/components/net/blob_loader.rs
@@ -6,6 +6,7 @@ use filemanager_thread::{FileManager, UIProvider};
use hyper::header::{DispositionType, ContentDisposition, DispositionParam};
use hyper::header::{Headers, ContentType, ContentLength, Charset};
use hyper::http::RawStatus;
+use hyper_serde::Serde;
use ipc_channel::ipc;
use mime::{Mime, Attr};
use mime_classifier::MimeClassifier;
@@ -68,11 +69,11 @@ fn load_blob<UI: 'static + UIProvider>
let metadata = Metadata {
final_url: load_data.url.clone(),
- content_type: Some(ContentType(content_type.clone())),
+ content_type: Some(Serde(ContentType(content_type.clone()))),
charset: charset.map(|c| c.as_str().to_string()),
- headers: Some(headers),
+ headers: Some(Serde(headers)),
// https://w3c.github.io/FileAPI/#TwoHundredOK
- status: Some(RawStatus(200, "OK".into())),
+ status: Some(Serde(RawStatus(200, "OK".into()))),
https_state: HttpsState::None,
referrer: None,
};
diff --git a/components/net/fetch/methods.rs b/components/net/fetch/methods.rs
index 15aa3d28c00..e38d434b277 100644
--- a/components/net/fetch/methods.rs
+++ b/components/net/fetch/methods.rs
@@ -19,6 +19,7 @@ use hyper::header::{IfNoneMatch, Pragma, Location, QualityItem, Referer as Refer
use hyper::method::Method;
use hyper::mime::{Mime, SubLevel, TopLevel};
use hyper::status::StatusCode;
+use hyper_serde::Serde;
use mime_guess::guess_mime_type;
use msg::constellation_msg::ReferrerPolicy;
use net_traits::FetchTaskTarget;
@@ -996,7 +997,8 @@ fn http_network_fetch(request: Rc<Request>,
if let Some(pipeline_id) = pipeline_id {
send_response_to_devtools(
&sender, request_id.into(),
- meta_headers, meta_status,
+ meta_headers.map(Serde::into_inner),
+ meta_status.map(Serde::into_inner),
pipeline_id);
}
}
diff --git a/components/net/http_loader.rs b/components/net/http_loader.rs
index 2f328917352..32c24600640 100644
--- a/components/net/http_loader.rs
+++ b/components/net/http_loader.rs
@@ -24,6 +24,7 @@ use hyper::method::Method;
use hyper::mime::{Mime, SubLevel, TopLevel};
use hyper::net::Fresh;
use hyper::status::{StatusClass, StatusCode};
+use hyper_serde::Serde;
use ipc_channel::ipc::{self, IpcSender};
use log;
use mime_classifier::MimeClassifier;
@@ -1076,8 +1077,8 @@ pub fn load<A, B>(load_data: &LoadData,
Some(&ContentType(ref mime)) => Some(mime),
None => None
});
- metadata.headers = Some(adjusted_headers);
- metadata.status = Some(response.status_raw().clone());
+ metadata.headers = Some(Serde(adjusted_headers));
+ metadata.status = Some(Serde(response.status_raw().clone()));
metadata.https_state = if doc_url.scheme() == "https" {
HttpsState::Modern
} else {
@@ -1092,7 +1093,8 @@ pub fn load<A, B>(load_data: &LoadData,
if let Some(ref chan) = devtools_chan {
send_response_to_devtools(
&chan, request_id,
- metadata.headers.clone(), metadata.status.clone(),
+ metadata.headers.clone().map(Serde::into_inner),
+ metadata.status.clone().map(Serde::into_inner),
pipeline_id);
}
}
diff --git a/components/net/lib.rs b/components/net/lib.rs
index 53efb84f6c2..120dacb27d2 100644
--- a/components/net/lib.rs
+++ b/components/net/lib.rs
@@ -21,6 +21,7 @@ extern crate device;
extern crate devtools_traits;
extern crate flate2;
extern crate hyper;
+extern crate hyper_serde;
extern crate immeta;
extern crate ipc_channel;
#[macro_use] extern crate lazy_static;
diff --git a/components/net/resource_thread.rs b/components/net/resource_thread.rs
index 411b0d22373..89bc5628a66 100644
--- a/components/net/resource_thread.rs
+++ b/components/net/resource_thread.rs
@@ -21,6 +21,7 @@ use http_loader::{self, HttpState};
use hyper::client::pool::Pool;
use hyper::header::{ContentType, Header, SetCookie};
use hyper::mime::{Mime, SubLevel, TopLevel};
+use hyper_serde::Serde;
use ipc_channel::ipc::{self, IpcReceiver, IpcSender, IpcReceiverSet};
use mime_classifier::{ApacheBugFlag, MimeClassifier, NoSniffFlag};
use net_traits::LoadContext;
@@ -115,7 +116,7 @@ pub fn start_sending_sniffed_opt(start_chan: LoadConsumer, mut metadata: Metadat
}
let supplied_type =
- metadata.content_type.as_ref().map(|&ContentType(Mime(ref toplevel, ref sublevel, _))| {
+ metadata.content_type.as_ref().map(|&Serde(ContentType(Mime(ref toplevel, ref sublevel, _)))| {
(format!("{}", toplevel), format!("{}", sublevel))
});
let (toplevel, sublevel) = classifier.classify(context,
@@ -125,7 +126,8 @@ pub fn start_sending_sniffed_opt(start_chan: LoadConsumer, mut metadata: Metadat
&partial_body);
let mime_tp: TopLevel = toplevel.parse().unwrap();
let mime_sb: SubLevel = sublevel.parse().unwrap();
- metadata.content_type = Some(ContentType(Mime(mime_tp, mime_sb, vec![])));
+ metadata.content_type =
+ Some(Serde(ContentType(Mime(mime_tp, mime_sb, vec![]))));
}
start_sending_opt(start_chan, metadata, None)
@@ -291,7 +293,7 @@ impl ResourceChannelManager {
}
CoreResourceMsg::GetCookiesDataForUrl(url, consumer, source) => {
let mut cookie_jar = group.cookie_jar.write().unwrap();
- let cookies = cookie_jar.cookies_data_for_url(&url, source).collect();
+ let cookies = cookie_jar.cookies_data_for_url(&url, source).map(Serde).collect();
consumer.send(cookies).unwrap();
}
CoreResourceMsg::Cancel(res_id) => {