diff options
-rw-r--r-- | components/net/fetch/methods.rs | 18 | ||||
-rw-r--r-- | components/net_traits/response.rs | 4 |
2 files changed, 7 insertions, 15 deletions
diff --git a/components/net/fetch/methods.rs b/components/net/fetch/methods.rs index eba6481f236..72d7e5c1e2a 100644 --- a/components/net/fetch/methods.rs +++ b/components/net/fetch/methods.rs @@ -409,9 +409,7 @@ fn basic_fetch<UI: 'static + UIProvider>(request: Rc<Request>, match url.scheme() { "about" if url.path() == "blank" => { - let mut response = Response::new(); - // https://github.com/whatwg/fetch/issues/312 - response.url = Some(url); + let mut response = Response::new(url); response.headers.set(ContentType(mime!(Text / Html; Charset = Utf8))); *response.body.lock().unwrap() = ResponseBody::Done(vec![]); response @@ -425,9 +423,7 @@ fn basic_fetch<UI: 'static + UIProvider>(request: Rc<Request>, if *request.method.borrow() == Method::Get { match decode(&url) { Ok((mime, bytes)) => { - let mut response = Response::new(); - // https://github.com/whatwg/fetch/issues/312 - response.url = Some(url.clone()); + let mut response = Response::new(url); *response.body.lock().unwrap() = ResponseBody::Done(bytes); response.headers.set(ContentType(mime)); response @@ -449,9 +445,7 @@ fn basic_fetch<UI: 'static + UIProvider>(request: Rc<Request>, let _ = file.read_to_end(&mut bytes); let mime = guess_mime_type(file_path); - let mut response = Response::new(); - // https://github.com/whatwg/fetch/issues/312 - response.url = Some(url.clone()); + let mut response = Response::new(url); *response.body.lock().unwrap() = ResponseBody::Done(bytes); response.headers.set(ContentType(mime)); response @@ -475,8 +469,7 @@ fn basic_fetch<UI: 'static + UIProvider>(request: Rc<Request>, match load_blob_sync(url.clone(), context.filemanager.clone()) { Ok((headers, bytes)) => { - let mut response = Response::new(); - response.url = Some(url.clone()); + let mut response = Response::new(url); response.headers = headers; *response.body.lock().unwrap() = ResponseBody::Done(bytes); response @@ -1028,8 +1021,7 @@ fn http_network_fetch<UI: 'static + UIProvider>(request: Rc<Request>, } }; - let mut response = Response::new(); - response.url = Some(url.clone()); + let mut response = Response::new(url.clone()); response.status = Some(res.response.status); response.raw_status = Some((res.response.status_raw().0, res.response.status_raw().1.as_bytes().to_vec())); diff --git a/components/net_traits/response.rs b/components/net_traits/response.rs index 92eee0e4669..e9509779f61 100644 --- a/components/net_traits/response.rs +++ b/components/net_traits/response.rs @@ -100,11 +100,11 @@ pub struct Response { } impl Response { - pub fn new() -> Response { + pub fn new(url: Url) -> Response { Response { response_type: ResponseType::Default, termination_reason: None, - url: None, + url: Some(url), url_list: RefCell::new(Vec::new()), status: Some(StatusCode::Ok), raw_status: Some((200, b"OK".to_vec())), |