wininet: Fix handling of a response without headers.
This commit is contained in:
parent
b467efb5c8
commit
2ed570ecc6
|
@ -73,6 +73,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(wininet);
|
||||||
|
|
||||||
static const WCHAR g_szHttp1_0[] = {'H','T','T','P','/','1','.','0',0};
|
static const WCHAR g_szHttp1_0[] = {'H','T','T','P','/','1','.','0',0};
|
||||||
static const WCHAR g_szHttp1_1[] = {'H','T','T','P','/','1','.','1',0};
|
static const WCHAR g_szHttp1_1[] = {'H','T','T','P','/','1','.','1',0};
|
||||||
|
static const WCHAR szOK[] = {'O','K',0};
|
||||||
|
static const WCHAR szDefaultHeader[] = {'H','T','T','P','/','1','.','0',' ','2','0','0',' ','O','K',0};
|
||||||
static const WCHAR hostW[] = { 'H','o','s','t',0 };
|
static const WCHAR hostW[] = { 'H','o','s','t',0 };
|
||||||
static const WCHAR szAuthorization[] = { 'A','u','t','h','o','r','i','z','a','t','i','o','n',0 };
|
static const WCHAR szAuthorization[] = { 'A','u','t','h','o','r','i','z','a','t','i','o','n',0 };
|
||||||
static const WCHAR szProxy_Authorization[] = { 'P','r','o','x','y','-','A','u','t','h','o','r','i','z','a','t','i','o','n',0 };
|
static const WCHAR szProxy_Authorization[] = { 'P','r','o','x','y','-','A','u','t','h','o','r','i','z','a','t','i','o','n',0 };
|
||||||
|
@ -4474,7 +4476,18 @@ static INT HTTP_GetResponseHeaders(http_request_t *lpwhr, BOOL clear)
|
||||||
}
|
}
|
||||||
else if (!codeHundred)
|
else if (!codeHundred)
|
||||||
{
|
{
|
||||||
FIXME("Non status line at head of response (%s)\n",debugstr_w(buffer));
|
WARN("No status line at head of response (%s)\n", debugstr_w(buffer));
|
||||||
|
|
||||||
|
HeapFree(GetProcessHeap(), 0, lpwhr->lpszVersion);
|
||||||
|
HeapFree(GetProcessHeap(), 0, lpwhr->lpszStatusText);
|
||||||
|
|
||||||
|
lpwhr->lpszVersion = heap_strdupW(g_szHttp1_0);
|
||||||
|
lpwhr->lpszStatusText = heap_strdupW(szOK);
|
||||||
|
|
||||||
|
HeapFree(GetProcessHeap(), 0, lpwhr->lpszRawHeaders);
|
||||||
|
lpwhr->lpszRawHeaders = heap_strdupW(szDefaultHeader);
|
||||||
|
|
||||||
|
bSuccess = TRUE;
|
||||||
goto lend;
|
goto lend;
|
||||||
}
|
}
|
||||||
} while (codeHundred);
|
} while (codeHundred);
|
||||||
|
|
|
@ -2290,22 +2290,22 @@ static void test_response_without_headers(int port)
|
||||||
size = sizeof(buffer);
|
size = sizeof(buffer);
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
r = HttpQueryInfo(hr, HTTP_QUERY_STATUS_TEXT, buffer, &size, NULL );
|
r = HttpQueryInfo(hr, HTTP_QUERY_STATUS_TEXT, buffer, &size, NULL );
|
||||||
todo_wine ok(r, "HttpQueryInfo failed %u\n", GetLastError());
|
ok(r, "HttpQueryInfo failed %u\n", GetLastError());
|
||||||
todo_wine ok(!strcmp(buffer, "OK"), "expected OK got: \"%s\"\n", buffer);
|
ok(!strcmp(buffer, "OK"), "expected OK got: \"%s\"\n", buffer);
|
||||||
|
|
||||||
buffer[0] = 0;
|
buffer[0] = 0;
|
||||||
size = sizeof(buffer);
|
size = sizeof(buffer);
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
r = HttpQueryInfo(hr, HTTP_QUERY_VERSION, buffer, &size, NULL);
|
r = HttpQueryInfo(hr, HTTP_QUERY_VERSION, buffer, &size, NULL);
|
||||||
ok(r, "HttpQueryInfo failed %u\n", GetLastError());
|
ok(r, "HttpQueryInfo failed %u\n", GetLastError());
|
||||||
todo_wine ok(!strcmp(buffer, "HTTP/1.0"), "expected HTTP/1.0 got: \"%s\"\n", buffer);
|
ok(!strcmp(buffer, "HTTP/1.0"), "expected HTTP/1.0 got: \"%s\"\n", buffer);
|
||||||
|
|
||||||
buffer[0] = 0;
|
buffer[0] = 0;
|
||||||
size = sizeof(buffer);
|
size = sizeof(buffer);
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
r = HttpQueryInfo(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, NULL);
|
r = HttpQueryInfo(hr, HTTP_QUERY_RAW_HEADERS, buffer, &size, NULL);
|
||||||
ok(r, "HttpQueryInfo failed %u\n", GetLastError());
|
ok(r, "HttpQueryInfo failed %u\n", GetLastError());
|
||||||
todo_wine ok(!strcmp(buffer, "HTTP/1.0 200 OK"), "raw headers wrong: \"%s\"\n", buffer);
|
ok(!strcmp(buffer, "HTTP/1.0 200 OK"), "raw headers wrong: \"%s\"\n", buffer);
|
||||||
|
|
||||||
InternetCloseHandle(hr);
|
InternetCloseHandle(hr);
|
||||||
InternetCloseHandle(hc);
|
InternetCloseHandle(hc);
|
||||||
|
|
Loading…
Reference in New Issue