mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Auto merge of #14083 - rnestler:fix_14018, r=jdm
Add redirect_mode to RequestInit This adds support for non-follow redirect modes for `RequestInit`. --- - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #14018 (github issue number if applicable). - [x] There are tests for these changes <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14083) <!-- Reviewable:end -->
This commit is contained in:
commit
58baf3ebb6
4 changed files with 5 additions and 31 deletions
|
@ -81,7 +81,7 @@ pub enum CacheMode {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// [Redirect mode](https://fetch.spec.whatwg.org/#concept-request-redirect-mode)
|
/// [Redirect mode](https://fetch.spec.whatwg.org/#concept-request-redirect-mode)
|
||||||
#[derive(Copy, Clone, PartialEq, HeapSizeOf)]
|
#[derive(Copy, Clone, PartialEq, Serialize, Deserialize, HeapSizeOf)]
|
||||||
pub enum RedirectMode {
|
pub enum RedirectMode {
|
||||||
Follow,
|
Follow,
|
||||||
Error,
|
Error,
|
||||||
|
@ -137,6 +137,7 @@ pub struct RequestInit {
|
||||||
pub referrer_url: Option<Url>,
|
pub referrer_url: Option<Url>,
|
||||||
pub referrer_policy: Option<ReferrerPolicy>,
|
pub referrer_policy: Option<ReferrerPolicy>,
|
||||||
pub pipeline_id: Option<PipelineId>,
|
pub pipeline_id: Option<PipelineId>,
|
||||||
|
pub redirect_mode: RedirectMode,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for RequestInit {
|
impl Default for RequestInit {
|
||||||
|
@ -158,6 +159,7 @@ impl Default for RequestInit {
|
||||||
referrer_url: None,
|
referrer_url: None,
|
||||||
referrer_policy: None,
|
referrer_policy: None,
|
||||||
pipeline_id: None,
|
pipeline_id: None,
|
||||||
|
redirect_mode: RedirectMode::Follow,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -266,6 +268,7 @@ impl Request {
|
||||||
};
|
};
|
||||||
req.referrer_policy.set(init.referrer_policy);
|
req.referrer_policy.set(init.referrer_policy);
|
||||||
req.pipeline_id.set(init.pipeline_id);
|
req.pipeline_id.set(init.pipeline_id);
|
||||||
|
req.redirect_mode.set(init.redirect_mode);
|
||||||
req
|
req
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,6 +61,7 @@ fn request_init_from_request(request: NetTraitsRequest) -> NetTraitsRequestInit
|
||||||
referrer_url: from_referrer_to_referrer_url(&request),
|
referrer_url: from_referrer_to_referrer_url(&request),
|
||||||
referrer_policy: request.referrer_policy.get(),
|
referrer_policy: request.referrer_policy.get(),
|
||||||
pipeline_id: request.pipeline_id.get(),
|
pipeline_id: request.pipeline_id.get(),
|
||||||
|
redirect_mode: request.redirect_mode.get(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,32 +1,17 @@
|
||||||
[redirect-mode-worker.html]
|
[redirect-mode-worker.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
[Redirect 301 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 301 in "manual" mode ]
|
[Redirect 301 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Redirect 302 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 302 in "manual" mode ]
|
[Redirect 302 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Redirect 303 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 303 in "manual" mode ]
|
[Redirect 303 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Redirect 307 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 307 in "manual" mode ]
|
[Redirect 307 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Redirect 308 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 308 in "manual" mode ]
|
[Redirect 308 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
|
@ -1,32 +1,17 @@
|
||||||
[redirect-mode.html]
|
[redirect-mode.html]
|
||||||
type: testharness
|
type: testharness
|
||||||
[Redirect 301 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 301 in "manual" mode ]
|
[Redirect 301 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Redirect 302 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 302 in "manual" mode ]
|
[Redirect 302 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Redirect 303 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 303 in "manual" mode ]
|
[Redirect 303 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Redirect 307 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 307 in "manual" mode ]
|
[Redirect 307 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
[Redirect 308 in "error" mode ]
|
|
||||||
expected: FAIL
|
|
||||||
|
|
||||||
[Redirect 308 in "manual" mode ]
|
[Redirect 308 in "manual" mode ]
|
||||||
expected: FAIL
|
expected: FAIL
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue