| 612 | } |
| 613 | |
| 614 | static std::variant<HINTERNET, FtpWebOperationError> ftp_web_proxy_login(const FtpOperationParams ¶ms) { |
| 615 | std::wstring proxy_final_string = params.proxy_address + L":" + std::to_wstring(params.proxy_port); |
| 616 | const auto win_inet_handle = InternetOpen(static_plugin_name, INTERNET_OPEN_TYPE_PROXY, proxy_final_string.c_str(), L"", 0); |
| 617 | if (win_inet_handle == nullptr) |
| 618 | return FtpWebOperationError{FtpWebOperationErrorType::http_client_cannot_be_initialized, -1}; |
| 619 | DWORD time_out = 15000; |
| 620 | for (auto option : {INTERNET_OPTION_CONNECT_TIMEOUT, INTERNET_OPTION_SEND_TIMEOUT, INTERNET_OPTION_RECEIVE_TIMEOUT}) |
| 621 | InternetSetOption(win_inet_handle, option, &time_out, sizeof(DWORD)); |
| 622 | return win_inet_handle; |
| 623 | } |
| 624 | |
| 625 | inline auto initial_buffer_size = 50 * 1024; |
| 626 |
no test coverage detected