From 10090eb2527ec86eec6c011b1d7c7f2318ea0c55 Mon Sep 17 00:00:00 2001
From: Hans Leidekker <hans@codeweavers.com>
Date: Thu, 11 Sep 2008 14:20:06 +0200
Subject: [PATCH] winhttp: Strip content-type/length headers from request on a
 redirect.

---
 dlls/winhttp/request.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index 6564e289c3e..c149aca3664 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -1048,6 +1048,7 @@ static BOOL handle_redirect( request_t *request )
     connect_t *connect = request->connect;
     INTERNET_PORT port;
     WCHAR *hostname = NULL, *location = NULL;
+    int index;
 
     size = 0;
     query_headers( request, WINHTTP_QUERY_LOCATION, NULL, NULL, &size, NULL );
@@ -1115,6 +1116,10 @@ static BOOL handle_redirect( request_t *request )
         }
     }
 
+    /* remove content-type/length headers */
+    if ((index = get_header_index( request, attr_content_type, 0, TRUE )) >= 0) delete_header( request, index );
+    if ((index = get_header_index( request, attr_content_length, 0, TRUE )) >= 0 ) delete_header( request, index );
+
     /* redirects are always GET requests */
     heap_free( request->verb );
     request->verb = NULL;