| Index: src/DefaultWebRequestWinInet.cpp |
| =================================================================== |
| --- a/src/DefaultWebRequestWinInet.cpp |
| +++ b/src/DefaultWebRequestWinInet.cpp |
| @@ -172,10 +172,13 @@ |
| // Get the response status code |
| std::wstring statusStr; |
| DWORD statusLen = 0; |
| - res = WinHttpQueryHeaders(hRequest, WINHTTP_QUERY_STATUS_CODE, WINHTTP_HEADER_NAME_BY_INDEX, &statusStr[0], &statusLen, WINHTTP_NO_HEADER_INDEX); |
| + res = WinHttpQueryHeaders(hRequest, WINHTTP_QUERY_STATUS_CODE, WINHTTP_HEADER_NAME_BY_INDEX, WINHTTP_NO_OUTPUT_BUFFER , &statusLen, WINHTTP_NO_HEADER_INDEX); |
| if (statusLen == 0) |
| { |
| - throw std::exception("Can't parse the status code"); |
| + if (GetLastError() != ERROR_INSUFFICIENT_BUFFER) |
| + { |
| + throw std::exception("Can't parse the status code"); |
| + } |
| } |
| statusStr.resize(statusLen / sizeof(std::wstring::value_type) + 1); |
| res = WinHttpQueryHeaders(hRequest, WINHTTP_QUERY_STATUS_CODE, WINHTTP_HEADER_NAME_BY_INDEX, &statusStr[0], &statusLen, WINHTTP_NO_HEADER_INDEX); |