Pass the URL to Response::new().

This commit is contained in:
Ms2ger 2016-11-07 10:08:16 +01:00
parent 89c46369a2
commit c1e1695f66
2 changed files with 7 additions and 15 deletions

View file

@ -409,9 +409,7 @@ fn basic_fetch<UI: 'static + UIProvider>(request: Rc<Request>,
match url.scheme() { match url.scheme() {
"about" if url.path() == "blank" => { "about" if url.path() == "blank" => {
let mut response = Response::new(); let mut response = Response::new(url);
// https://github.com/whatwg/fetch/issues/312
response.url = Some(url);
response.headers.set(ContentType(mime!(Text / Html; Charset = Utf8))); response.headers.set(ContentType(mime!(Text / Html; Charset = Utf8)));
*response.body.lock().unwrap() = ResponseBody::Done(vec![]); *response.body.lock().unwrap() = ResponseBody::Done(vec![]);
response response
@ -425,9 +423,7 @@ fn basic_fetch<UI: 'static + UIProvider>(request: Rc<Request>,
if *request.method.borrow() == Method::Get { if *request.method.borrow() == Method::Get {
match decode(&url) { match decode(&url) {
Ok((mime, bytes)) => { Ok((mime, bytes)) => {
let mut response = Response::new(); let mut response = Response::new(url);
// https://github.com/whatwg/fetch/issues/312
response.url = Some(url.clone());
*response.body.lock().unwrap() = ResponseBody::Done(bytes); *response.body.lock().unwrap() = ResponseBody::Done(bytes);
response.headers.set(ContentType(mime)); response.headers.set(ContentType(mime));
response response
@ -449,9 +445,7 @@ fn basic_fetch<UI: 'static + UIProvider>(request: Rc<Request>,
let _ = file.read_to_end(&mut bytes); let _ = file.read_to_end(&mut bytes);
let mime = guess_mime_type(file_path); let mime = guess_mime_type(file_path);
let mut response = Response::new(); let mut response = Response::new(url);
// https://github.com/whatwg/fetch/issues/312
response.url = Some(url.clone());
*response.body.lock().unwrap() = ResponseBody::Done(bytes); *response.body.lock().unwrap() = ResponseBody::Done(bytes);
response.headers.set(ContentType(mime)); response.headers.set(ContentType(mime));
response response
@ -475,8 +469,7 @@ fn basic_fetch<UI: 'static + UIProvider>(request: Rc<Request>,
match load_blob_sync(url.clone(), context.filemanager.clone()) { match load_blob_sync(url.clone(), context.filemanager.clone()) {
Ok((headers, bytes)) => { Ok((headers, bytes)) => {
let mut response = Response::new(); let mut response = Response::new(url);
response.url = Some(url.clone());
response.headers = headers; response.headers = headers;
*response.body.lock().unwrap() = ResponseBody::Done(bytes); *response.body.lock().unwrap() = ResponseBody::Done(bytes);
response response
@ -1028,8 +1021,7 @@ fn http_network_fetch<UI: 'static + UIProvider>(request: Rc<Request>,
} }
}; };
let mut response = Response::new(); let mut response = Response::new(url.clone());
response.url = Some(url.clone());
response.status = Some(res.response.status); response.status = Some(res.response.status);
response.raw_status = Some((res.response.status_raw().0, response.raw_status = Some((res.response.status_raw().0,
res.response.status_raw().1.as_bytes().to_vec())); res.response.status_raw().1.as_bytes().to_vec()));

View file

@ -100,11 +100,11 @@ pub struct Response {
} }
impl Response { impl Response {
pub fn new() -> Response { pub fn new(url: Url) -> Response {
Response { Response {
response_type: ResponseType::Default, response_type: ResponseType::Default,
termination_reason: None, termination_reason: None,
url: None, url: Some(url),
url_list: RefCell::new(Vec::new()), url_list: RefCell::new(Vec::new()),
status: Some(StatusCode::Ok), status: Some(StatusCode::Ok),
raw_status: Some((200, b"OK".to_vec())), raw_status: Some((200, b"OK".to_vec())),