[1/2] wininet: Don't change the verb if the server response is HTTP_STATUS_REDIRECT_KEEP_VERB.
Hans Leidekker
hans at codeweavers.com
Wed Jun 1 04:50:32 CDT 2011
---
dlls/wininet/http.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index a8dbd3d..cc9d480 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -4734,7 +4734,8 @@ static DWORD HTTP_HttpSendRequestW(http_request_t *request, LPCWSTR lpszHeaders,
dwStatusCode == HTTP_STATUS_REDIRECT_METHOD) &&
HTTP_HttpQueryInfoW(request,HTTP_QUERY_LOCATION,szNewLocation,&dwBufferSize,NULL) == ERROR_SUCCESS)
{
- if (strcmpW(request->verb, szGET) && strcmpW(request->verb, szHEAD))
+ if (strcmpW(request->verb, szGET) && strcmpW(request->verb, szHEAD) &&
+ dwStatusCode != HTTP_STATUS_REDIRECT_KEEP_VERB)
{
HeapFree(GetProcessHeap(), 0, request->verb);
request->verb = heap_strdupW(szGET);
@@ -4904,7 +4905,8 @@ static DWORD HTTP_HttpEndRequestW(http_request_t *request, DWORD dwFlags, DWORD_
dwBufferSize=sizeof(szNewLocation);
if (HTTP_HttpQueryInfoW(request, HTTP_QUERY_LOCATION, szNewLocation, &dwBufferSize, NULL) == ERROR_SUCCESS)
{
- if (strcmpW(request->verb, szGET) && strcmpW(request->verb, szHEAD))
+ if (strcmpW(request->verb, szGET) && strcmpW(request->verb, szHEAD) &&
+ dwCode != HTTP_STATUS_REDIRECT_KEEP_VERB)
{
HeapFree(GetProcessHeap(), 0, request->verb);
request->verb = heap_strdupW(szGET);
--
1.7.4.1
More information about the wine-patches
mailing list