From 3a5af68b92fa5ca5a743bcd55ba5f4bcaa098a14 Mon Sep 17 00:00:00 2001 From: Xeoeen Date: Wed, 19 Sep 2018 21:07:59 +0200 Subject: [PATCH] remove invalid headers after erasing body (#349) --- src/async_impl/client.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/async_impl/client.rs b/src/async_impl/client.rs index 0e5a0e7..bdf738c 100644 --- a/src/async_impl/client.rs +++ b/src/async_impl/client.rs @@ -6,7 +6,7 @@ use bytes::Bytes; use futures::{Async, Future, Poll}; use hyper::client::ResponseFuture; use header::{HeaderMap, HeaderValue, LOCATION, USER_AGENT, REFERER, ACCEPT, - ACCEPT_ENCODING, RANGE}; + ACCEPT_ENCODING, RANGE, TRANSFER_ENCODING, CONTENT_TYPE, CONTENT_LENGTH, CONTENT_ENCODING}; use mime::{self}; use native_tls::{TlsConnector, TlsConnectorBuilder}; @@ -454,6 +454,10 @@ impl Future for PendingRequest { StatusCode::FOUND | StatusCode::SEE_OTHER => { self.body = None; + for header in &[TRANSFER_ENCODING, CONTENT_ENCODING, CONTENT_TYPE, CONTENT_LENGTH] { + self.headers.remove(header); + } + match self.method { Method::GET | Method::HEAD => {}, _ => {