Commit b7df063f authored by Hans Leidekker's avatar Hans Leidekker Committed by Alexandre Julliard

winhttp: Don't change the verb if the server response is HTTP_STATUS_REDIRECT_KEEP_VERB.

parent a4a4a420
......@@ -1544,7 +1544,7 @@ end:
return TRUE;
}
static BOOL handle_redirect( request_t *request )
static BOOL handle_redirect( request_t *request, DWORD status )
{
BOOL ret = FALSE;
DWORD size, len;
......@@ -1626,9 +1626,11 @@ static BOOL handle_redirect( request_t *request )
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 = strdupW( getW );
if (status != HTTP_STATUS_REDIRECT_KEEP_VERB)
{
heap_free( request->verb );
request->verb = strdupW( getW );
}
ret = TRUE;
end:
......@@ -1840,7 +1842,7 @@ static BOOL receive_response( request_t *request, BOOL async )
if (request->hdr.disable_flags & WINHTTP_DISABLE_REDIRECTS) break;
drain_content( request );
if (!(ret = handle_redirect( request ))) break;
if (!(ret = handle_redirect( request, status ))) break;
clear_response_headers( request );
ret = send_request( request, NULL, 0, NULL, 0, 0, 0, FALSE ); /* recurse synchronously */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment