mirror of
https://github.com/servo/servo.git
synced 2025-07-23 15:23:42 +01:00
Strip request-body-header when redirecting from a POST to GET
This doesn't change any expectation because we're not setting response.redirected properly so all the tests fail later on when it's asserted to be true. Fixes #25257
This commit is contained in:
parent
6653b89b64
commit
566147dab3
2 changed files with 15 additions and 3 deletions
|
@ -25,7 +25,10 @@ use headers::{
|
||||||
use headers::{AccessControlAllowOrigin, AccessControlMaxAge};
|
use headers::{AccessControlAllowOrigin, AccessControlMaxAge};
|
||||||
use headers::{CacheControl, ContentEncoding, ContentLength};
|
use headers::{CacheControl, ContentEncoding, ContentLength};
|
||||||
use headers::{IfModifiedSince, LastModified, Origin as HyperOrigin, Pragma, Referer, UserAgent};
|
use headers::{IfModifiedSince, LastModified, Origin as HyperOrigin, Pragma, Referer, UserAgent};
|
||||||
use http::header::{self, HeaderName, HeaderValue};
|
use http::header::{
|
||||||
|
self, HeaderName, HeaderValue, CONTENT_ENCODING, CONTENT_LANGUAGE, CONTENT_LOCATION,
|
||||||
|
CONTENT_TYPE,
|
||||||
|
};
|
||||||
use http::{HeaderMap, Request as HyperRequest};
|
use http::{HeaderMap, Request as HyperRequest};
|
||||||
use hyper::{Body, Client, Method, Response as HyperResponse, StatusCode};
|
use hyper::{Body, Client, Method, Response as HyperResponse, StatusCode};
|
||||||
use hyper_serde::Serde;
|
use hyper_serde::Serde;
|
||||||
|
@ -804,8 +807,18 @@ pub fn http_redirect_fetch(
|
||||||
(*code == StatusCode::SEE_OTHER && request.method != Method::HEAD)
|
(*code == StatusCode::SEE_OTHER && request.method != Method::HEAD)
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
|
// Step 11.1
|
||||||
request.method = Method::GET;
|
request.method = Method::GET;
|
||||||
request.body = None;
|
request.body = None;
|
||||||
|
// Step 11.2
|
||||||
|
for name in &[
|
||||||
|
CONTENT_ENCODING,
|
||||||
|
CONTENT_LANGUAGE,
|
||||||
|
CONTENT_LOCATION,
|
||||||
|
CONTENT_TYPE,
|
||||||
|
] {
|
||||||
|
request.headers.remove(name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Step 12
|
// Step 12
|
||||||
|
|
|
@ -287,8 +287,7 @@ impl ResponseMethods for Response {
|
||||||
|
|
||||||
// https://fetch.spec.whatwg.org/#dom-response-redirected
|
// https://fetch.spec.whatwg.org/#dom-response-redirected
|
||||||
fn Redirected(&self) -> bool {
|
fn Redirected(&self) -> bool {
|
||||||
let url_list_len = self.url_list.borrow().len();
|
return *self.redirected.borrow();
|
||||||
url_list_len > 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://fetch.spec.whatwg.org/#dom-response-status
|
// https://fetch.spec.whatwg.org/#dom-response-status
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue