Karsten Elfenbein : wininet: Follow 307 temporary redirect.

Alexandre Julliard julliard at winehq.org
Mon May 9 13:34:43 CDT 2011


Module: wine
Branch: master
Commit: 5b173cb405a5859976022482cb62a769f92dfef8
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=5b173cb405a5859976022482cb62a769f92dfef8

Author: Karsten Elfenbein <kelfe at gmx.de>
Date:   Sun May  8 12:29:06 2011 +0200

wininet: Follow 307 temporary redirect.

---

 dlls/wininet/http.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index d925975..b246d67 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -4415,6 +4415,7 @@ static DWORD HTTP_HttpSendRequestW(http_request_t *request, LPCWSTR lpszHeaders,
                 dwBufferSize=sizeof(szNewLocation);
                 if ((dwStatusCode == HTTP_STATUS_REDIRECT ||
                      dwStatusCode == HTTP_STATUS_MOVED ||
+                     dwStatusCode == HTTP_STATUS_REDIRECT_KEEP_VERB ||
                      dwStatusCode == HTTP_STATUS_REDIRECT_METHOD) &&
                     HTTP_HttpQueryInfoW(request,HTTP_QUERY_LOCATION,szNewLocation,&dwBufferSize,NULL) == ERROR_SUCCESS)
                 {
@@ -4574,7 +4575,10 @@ static DWORD HTTP_HttpEndRequestW(http_request_t *request, DWORD dwFlags, DWORD_
     {
         DWORD dwCode,dwCodeLength = sizeof(DWORD);
         if (HTTP_HttpQueryInfoW(request, HTTP_QUERY_FLAG_NUMBER|HTTP_QUERY_STATUS_CODE, &dwCode, &dwCodeLength, NULL) == ERROR_SUCCESS
-            && (dwCode == 302 || dwCode == 301 || dwCode == 303))
+            && (dwCode == HTTP_STATUS_REDIRECT ||
+                dwCode == HTTP_STATUS_MOVED ||
+                dwCode == HTTP_STATUS_REDIRECT_METHOD ||
+                dwCode == HTTP_STATUS_REDIRECT_KEEP_VERB))
         {
             WCHAR *new_url, szNewLocation[INTERNET_MAX_URL_LENGTH];
             dwBufferSize=sizeof(szNewLocation);




More information about the wine-cvs mailing list