Skip to content

Commit 1d14277

Browse files
committed
WinINet: Wait until more data is available.
Fixes certain cases where it returns incomplete response on slow internet or when chunked transfer is encountered. Fixes #19.
1 parent 07d2b97 commit 1d14277

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/windows/WinINetClient.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -203,12 +203,14 @@ HTTPSClient::Reply WinINetClient::request(const HTTPSClient::Request &req)
203203
char buffer[BUFFER_SIZE];
204204
DWORD readed = 0;
205205

206+
BOOL ret = InternetQueryDataAvailable(hHTTP, &readed, 0, 0);
207+
if (!ret || readed == 0)
208+
break;
209+
206210
if (!InternetReadFile(hHTTP, buffer, BUFFER_SIZE, &readed))
207211
break;
208212

209213
responseData.write(buffer, readed);
210-
if (readed < BUFFER_SIZE)
211-
break;
212214
}
213215

214216
reply.body = responseData.str();

0 commit comments

Comments
 (0)