mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
Make Response::internal_response a bare boolean
This commit is contained in:
parent
cb2eb81208
commit
80e02303d3
2 changed files with 12 additions and 12 deletions
|
@ -553,15 +553,15 @@ pub fn http_fetch(request: &mut Request,
|
||||||
request.skip_service_worker = true;
|
request.skip_service_worker = true;
|
||||||
|
|
||||||
// Substep 3
|
// Substep 3
|
||||||
let fetch_result = http_network_or_cache_fetch(request, authentication_fetch_flag,
|
let mut fetch_result = http_network_or_cache_fetch(
|
||||||
cors_flag, done_chan, context);
|
request, authentication_fetch_flag, cors_flag, done_chan, context);
|
||||||
|
|
||||||
// Substep 4
|
// Substep 4
|
||||||
if cors_flag && cors_check(&request, &fetch_result).is_err() {
|
if cors_flag && cors_check(&request, &fetch_result).is_err() {
|
||||||
return Response::network_error(NetworkError::Internal("CORS check failed".into()));
|
return Response::network_error(NetworkError::Internal("CORS check failed".into()));
|
||||||
}
|
}
|
||||||
|
|
||||||
fetch_result.return_internal.set(false);
|
fetch_result.return_internal = false;
|
||||||
response = Some(fetch_result);
|
response = Some(fetch_result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -579,7 +579,7 @@ pub fn http_fetch(request: &mut Request,
|
||||||
},
|
},
|
||||||
RedirectMode::Follow => {
|
RedirectMode::Follow => {
|
||||||
// set back to default
|
// set back to default
|
||||||
response.return_internal.set(true);
|
response.return_internal = true;
|
||||||
http_redirect_fetch(request, cache, response,
|
http_redirect_fetch(request, cache, response,
|
||||||
cors_flag, target, done_chan, context)
|
cors_flag, target, done_chan, context)
|
||||||
}
|
}
|
||||||
|
@ -642,7 +642,7 @@ pub fn http_fetch(request: &mut Request,
|
||||||
}
|
}
|
||||||
|
|
||||||
// set back to default
|
// set back to default
|
||||||
response.return_internal.set(true);
|
response.return_internal = true;
|
||||||
// Step 7
|
// Step 7
|
||||||
response
|
response
|
||||||
}
|
}
|
||||||
|
@ -657,7 +657,7 @@ fn http_redirect_fetch(request: &mut Request,
|
||||||
context: &FetchContext)
|
context: &FetchContext)
|
||||||
-> Response {
|
-> Response {
|
||||||
// Step 1
|
// Step 1
|
||||||
assert_eq!(response.return_internal.get(), true);
|
assert!(response.return_internal);
|
||||||
|
|
||||||
// Step 2
|
// Step 2
|
||||||
if !response.actual_response().headers.has::<Location>() {
|
if !response.actual_response().headers.has::<Location>() {
|
||||||
|
|
|
@ -10,7 +10,7 @@ use hyper::status::StatusCode;
|
||||||
use hyper_serde::Serde;
|
use hyper_serde::Serde;
|
||||||
use servo_url::ServoUrl;
|
use servo_url::ServoUrl;
|
||||||
use std::ascii::AsciiExt;
|
use std::ascii::AsciiExt;
|
||||||
use std::cell::{Cell, RefCell};
|
use std::cell::RefCell;
|
||||||
use std::sync::{Arc, Mutex};
|
use std::sync::{Arc, Mutex};
|
||||||
|
|
||||||
/// [Response type](https://fetch.spec.whatwg.org/#concept-response-type)
|
/// [Response type](https://fetch.spec.whatwg.org/#concept-response-type)
|
||||||
|
@ -97,7 +97,7 @@ pub struct Response {
|
||||||
/// is a filtered response
|
/// is a filtered response
|
||||||
pub internal_response: Option<Box<Response>>,
|
pub internal_response: Option<Box<Response>>,
|
||||||
/// whether or not to try to return the internal_response when asked for actual_response
|
/// whether or not to try to return the internal_response when asked for actual_response
|
||||||
pub return_internal: Cell<bool>,
|
pub return_internal: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Response {
|
impl Response {
|
||||||
|
@ -115,7 +115,7 @@ impl Response {
|
||||||
https_state: HttpsState::None,
|
https_state: HttpsState::None,
|
||||||
referrer: None,
|
referrer: None,
|
||||||
internal_response: None,
|
internal_response: None,
|
||||||
return_internal: Cell::new(true),
|
return_internal: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ impl Response {
|
||||||
https_state: HttpsState::None,
|
https_state: HttpsState::None,
|
||||||
referrer: None,
|
referrer: None,
|
||||||
internal_response: None,
|
internal_response: None,
|
||||||
return_internal: Cell::new(true),
|
return_internal: true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +156,7 @@ impl Response {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn actual_response(&self) -> &Response {
|
pub fn actual_response(&self) -> &Response {
|
||||||
if self.return_internal.get() && self.internal_response.is_some() {
|
if self.return_internal && self.internal_response.is_some() {
|
||||||
&**self.internal_response.as_ref().unwrap()
|
&**self.internal_response.as_ref().unwrap()
|
||||||
} else {
|
} else {
|
||||||
self
|
self
|
||||||
|
@ -164,7 +164,7 @@ impl Response {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_actual(self) -> Response {
|
pub fn to_actual(self) -> Response {
|
||||||
if self.return_internal.get() && self.internal_response.is_some() {
|
if self.return_internal && self.internal_response.is_some() {
|
||||||
*self.internal_response.unwrap()
|
*self.internal_response.unwrap()
|
||||||
} else {
|
} else {
|
||||||
self
|
self
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue