wininet: Remove custom content-length/type headers from redirects.

This commit is contained in:
Dan Hipschman 2008-04-22 15:48:28 -07:00 committed by Alexandre Julliard
parent 34480aef09
commit a1ebffb452
1 changed files with 11 additions and 0 deletions
dlls/wininet

View File

@ -2861,10 +2861,13 @@ static BOOL HTTP_GetRequestURL(WININETHTTPREQW *req, LPWSTR buf)
*/
static BOOL HTTP_HandleRedirect(LPWININETHTTPREQW lpwhr, LPCWSTR lpszUrl)
{
static const WCHAR szContentType[] = {'C','o','n','t','e','n','t','-','T','y','p','e',0};
static const WCHAR szContentLength[] = {'C','o','n','t','e','n','t','-','L','e','n','g','t','h',0};
LPWININETHTTPSESSIONW lpwhs = lpwhr->lpHttpSession;
LPWININETAPPINFOW hIC = lpwhs->lpAppInfo;
BOOL using_proxy = hIC->lpszProxy && hIC->lpszProxy[0];
WCHAR path[INTERNET_MAX_URL_LENGTH];
int index;
if(lpszUrl[0]=='/')
{
@ -3051,6 +3054,14 @@ static BOOL HTTP_HandleRedirect(LPWININETHTTPREQW lpwhr, LPCWSTR lpszUrl)
}
}
/* Remove custom content-type/length headers on redirects. */
index = HTTP_GetCustomHeaderIndex(lpwhr, szContentType, 0, TRUE);
if (0 <= index)
HTTP_DeleteCustomHeader(lpwhr, index);
index = HTTP_GetCustomHeaderIndex(lpwhr, szContentLength, 0, TRUE);
if (0 <= index)
HTTP_DeleteCustomHeader(lpwhr, index);
return TRUE;
}