mirror of
https://github.com/pbatard/rufus.git
synced 2024-08-14 23:57:05 +00:00
Add http2, gzip, deflate support
This commit is contained in:
parent
7463fa6da3
commit
4e38410ae1
1 changed files with 9 additions and 5 deletions
14
src/net.c
14
src/net.c
|
@ -264,8 +264,8 @@ static HINTERNET GetInternetSession(BOOL bRetry)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char agent[64];
|
char agent[64];
|
||||||
BOOL r;
|
BOOL r, decodingSupport = TRUE;
|
||||||
DWORD dwFlags, dwTimeout = NET_SESSION_TIMEOUT;
|
DWORD dwFlags, dwTimeout = NET_SESSION_TIMEOUT, protocalSupport = HTTP_PROTOCOL_FLAG_HTTP2;
|
||||||
HINTERNET hSession = NULL;
|
HINTERNET hSession = NULL;
|
||||||
|
|
||||||
PF_TYPE_DECL(WINAPI, BOOL, InternetGetConnectedState, (LPDWORD, DWORD));
|
PF_TYPE_DECL(WINAPI, BOOL, InternetGetConnectedState, (LPDWORD, DWORD));
|
||||||
|
@ -295,6 +295,10 @@ static HINTERNET GetInternetSession(BOOL bRetry)
|
||||||
pfInternetSetOptionA(hSession, INTERNET_OPTION_CONNECT_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout));
|
pfInternetSetOptionA(hSession, INTERNET_OPTION_CONNECT_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout));
|
||||||
pfInternetSetOptionA(hSession, INTERNET_OPTION_SEND_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout));
|
pfInternetSetOptionA(hSession, INTERNET_OPTION_SEND_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout));
|
||||||
pfInternetSetOptionA(hSession, INTERNET_OPTION_RECEIVE_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout));
|
pfInternetSetOptionA(hSession, INTERNET_OPTION_RECEIVE_TIMEOUT, (LPVOID)&dwTimeout, sizeof(dwTimeout));
|
||||||
|
// Enable gzip and deflate decoding schemes
|
||||||
|
pfInternetSetOptionA(hSession, INTERNET_OPTION_HTTP_DECODING, (LPVOID)&decodingSupport, sizeof(decodingSupport));
|
||||||
|
// Enable HTTP/2 protocol support
|
||||||
|
pfInternetSetOptionA(hSession, INTERNET_OPTION_ENABLE_HTTP_PROTOCOL, (LPVOID)&protocalSupport, sizeof(protocalSupport));
|
||||||
|
|
||||||
out:
|
out:
|
||||||
return hSession;
|
return hSession;
|
||||||
|
@ -384,7 +388,7 @@ uint64_t DownloadToFileOrBuffer(const char* url, const char* file, BYTE** buffer
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!pfHttpSendRequestA(hRequest, NULL, 0, NULL, 0)) {
|
if (!pfHttpSendRequestA(hRequest, "Accept-Encoding: gzip, deflate", -1L, NULL, 0)) {
|
||||||
uprintf("Unable to send request: %s", WinInetErrorString());
|
uprintf("Unable to send request: %s", WinInetErrorString());
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -727,7 +731,7 @@ static DWORD WINAPI CheckForUpdatesThread(LPVOID param)
|
||||||
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS|
|
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP|INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS|
|
||||||
INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_UI|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_HYPERLINK|
|
INTERNET_FLAG_NO_COOKIES|INTERNET_FLAG_NO_UI|INTERNET_FLAG_NO_CACHE_WRITE|INTERNET_FLAG_HYPERLINK|
|
||||||
((UrlParts.nScheme == INTERNET_SCHEME_HTTPS)?INTERNET_FLAG_SECURE:0), (DWORD_PTR)NULL);
|
((UrlParts.nScheme == INTERNET_SCHEME_HTTPS)?INTERNET_FLAG_SECURE:0), (DWORD_PTR)NULL);
|
||||||
if ((hRequest == NULL) || (!pfHttpSendRequestA(hRequest, NULL, 0, NULL, 0))) {
|
if ((hRequest == NULL) || (!pfHttpSendRequestA(hRequest, "Accept-Encoding: gzip, deflate", -1L, NULL, 0))) {
|
||||||
uprintf("Unable to send request: %s", WinInetErrorString());
|
uprintf("Unable to send request: %s", WinInetErrorString());
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
@ -1091,7 +1095,7 @@ BOOL IsDownloadable(const char* url)
|
||||||
if (hRequest == NULL)
|
if (hRequest == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
if (!pfHttpSendRequestA(hRequest, NULL, 0, NULL, 0))
|
if (!pfHttpSendRequestA(hRequest, "Accept-Encoding: gzip, deflate", -1L, NULL, 0))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
// Get the file size
|
// Get the file size
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue