From ecabeb552f2ca6a662af071ffc8cfd5c47b49179 Mon Sep 17 00:00:00 2001 From: Omid Rad Date: Mon, 12 Jul 2021 19:01:44 +0200 Subject: [PATCH] Fix some bugs! --- awc/src/middleware/redirect.rs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/awc/src/middleware/redirect.rs b/awc/src/middleware/redirect.rs index 39958826d..1d11aeadd 100644 --- a/awc/src/middleware/redirect.rs +++ b/awc/src/middleware/redirect.rs @@ -174,21 +174,20 @@ where let next_uri = build_next_uri(&res, &prev_uri)?; // take ownership of states that could be reused - let body = body.take(); let addr = addr.take(); let connector = connector.take(); // reset method let method = if is_redirect { - let method = method.take().unwrap(); - match method { + method.take().unwrap() + } else { + match method.take().unwrap() { Method::GET | Method::HEAD => method, _ => Method::GET, } - } else { - method.take().unwrap() }; + let mut body = body.take(); let body_new = if is_redirect { // try to reuse body match body { @@ -197,6 +196,7 @@ where _ => Body::Empty, } } else { + body = None; // remove body Body::None }; @@ -227,8 +227,7 @@ where uri: Some(next_uri), method: Some(method), headers: Some(headers), - // body is dropped on 301,302,303 - body: None, + body, addr, connector, }); @@ -273,9 +272,8 @@ fn remove_sensitive_headers(headers: &mut header::HeaderMap, prev_uri: &Uri, nex || next_uri.port() != prev_uri.port() || next_uri.scheme() != prev_uri.scheme() { - headers.remove(header::AUTHORIZATION); - headers.remove(header::WWW_AUTHENTICATE); headers.remove(header::COOKIE); + headers.remove(header::AUTHORIZATION); headers.remove(header::PROXY_AUTHORIZATION); } }