diff options
author | Emilio Cobos Álvarez <ecoal95@gmail.com> | 2016-11-16 11:57:39 +0100 |
---|---|---|
committer | Emilio Cobos Álvarez <ecoal95@gmail.com> | 2016-11-17 18:34:23 +0100 |
commit | 913c874cb55fd0fdc9e8f3a4c34624cd015fac8a (patch) | |
tree | 4526ecefafe0cde2f56cb1e2a4ebffd372e1f70a /components/net_traits/response.rs | |
parent | f14e7339b5ff95fce0127dce4fe87ce082ab7259 (diff) | |
download | servo-913c874cb55fd0fdc9e8f3a4c34624cd015fac8a.tar.gz servo-913c874cb55fd0fdc9e8f3a4c34624cd015fac8a.zip |
Urlmageddon: Use refcounted urls more often.
Diffstat (limited to 'components/net_traits/response.rs')
-rw-r--r-- | components/net_traits/response.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/components/net_traits/response.rs b/components/net_traits/response.rs index da2c9c825d2..d93798be973 100644 --- a/components/net_traits/response.rs +++ b/components/net_traits/response.rs @@ -8,10 +8,10 @@ use {FetchMetadata, FilteredMetadata, Metadata, NetworkError}; use hyper::header::{AccessControlExposeHeaders, ContentType, Headers}; use hyper::status::StatusCode; use hyper_serde::Serde; +use servo_url::ServoUrl; use std::ascii::AsciiExt; use std::cell::{Cell, RefCell}; use std::sync::{Arc, Mutex}; -use url::Url; /// [Response type](https://fetch.spec.whatwg.org/#concept-response-type) #[derive(Clone, PartialEq, Debug, Deserialize, Serialize, HeapSizeOf)] @@ -79,8 +79,8 @@ pub enum ResponseMsg { pub struct Response { pub response_type: ResponseType, pub termination_reason: Option<TerminationReason>, - url: Option<Url>, - pub url_list: RefCell<Vec<Url>>, + url: Option<ServoUrl>, + pub url_list: RefCell<Vec<ServoUrl>>, /// `None` can be considered a StatusCode of `0`. #[ignore_heap_size_of = "Defined in hyper"] pub status: Option<StatusCode>, @@ -91,7 +91,7 @@ pub struct Response { pub body: Arc<Mutex<ResponseBody>>, pub cache_state: CacheState, pub https_state: HttpsState, - pub referrer: Option<Url>, + pub referrer: Option<ServoUrl>, /// [Internal response](https://fetch.spec.whatwg.org/#concept-internal-response), only used if the Response /// is a filtered response pub internal_response: Option<Box<Response>>, @@ -100,7 +100,7 @@ pub struct Response { } impl Response { - pub fn new(url: Url) -> Response { + pub fn new(url: ServoUrl) -> Response { Response { response_type: ResponseType::Default, termination_reason: None, @@ -136,7 +136,7 @@ impl Response { } } - pub fn url(&self) -> Option<&Url> { + pub fn url(&self) -> Option<&ServoUrl> { self.url.as_ref() } @@ -242,7 +242,7 @@ impl Response { } pub fn metadata(&self) -> Result<FetchMetadata, NetworkError> { - fn init_metadata(response: &Response, url: &Url) -> Metadata { + fn init_metadata(response: &Response, url: &ServoUrl) -> Metadata { let mut metadata = Metadata::default(url.clone()); metadata.set_content_type(match response.headers.get() { Some(&ContentType(ref mime)) => Some(mime), |