Compare commits
1 commit
4ad3045c1b
...
46b17dd5f5
Author | SHA1 | Date | |
---|---|---|---|
![]() |
46b17dd5f5 |
1 changed files with 7 additions and 11 deletions
|
@ -167,8 +167,7 @@ auto ConnectViaProxy(Socket& socket, const NoProxy&, std::string_view host, std:
|
|||
}
|
||||
|
||||
template <typename Socket>
|
||||
auto ConnectViaProxy(Socket& socket, const HttpProxy& param_proxy, std::string_view host, std::uint16_t port)
|
||||
-> boost::asio::awaitable<void> {
|
||||
auto ConnectViaProxy(Socket& socket, const HttpProxy&, std::string_view host, std::uint16_t port) -> boost::asio::awaitable<void> {
|
||||
constexpr std::string_view kHttpVersion = "HTTP/1.1";
|
||||
constexpr unsigned int kSuccessStatusCode = 200;
|
||||
constexpr std::string_view kEndOfHeaders = "\r\n\r\n";
|
||||
|
@ -180,8 +179,7 @@ auto ConnectViaProxy(Socket& socket, const HttpProxy& param_proxy, std::string_v
|
|||
socket, boost::asio::buffer(httpConnectRequest), boost::asio::transfer_all(), boost::asio::use_awaitable);
|
||||
|
||||
boost::asio::streambuf proxyServerResponse;
|
||||
std::size_t bytesTransferred =
|
||||
co_await boost::asio::async_read_until(socket, proxyServerResponse, kEndOfHeaders, boost::asio::use_awaitable);
|
||||
co_await boost::asio::async_read_until(socket, proxyServerResponse, kEndOfHeaders, boost::asio::use_awaitable);
|
||||
|
||||
std::istream responseStream(&proxyServerResponse);
|
||||
std::string httpVersion;
|
||||
|
@ -205,8 +203,7 @@ auto ConnectViaProxy(Socket& socket, const HttpProxy& param_proxy, std::string_v
|
|||
}
|
||||
|
||||
template <typename Socket>
|
||||
auto ConnectViaProxy(Socket& socket, const Socks5Proxy& socksProxy, std::string_view address, std::uint16_t port)
|
||||
-> boost::asio::awaitable<void> {
|
||||
auto ConnectViaProxy(Socket& socket, const Socks5Proxy&, std::string_view address, std::uint16_t port) -> boost::asio::awaitable<void> {
|
||||
constexpr std::array kSocks5RequestStart = {std::byte{0x05}, std::byte{0x01}, std::byte{0x00}, std::byte{0x03}};
|
||||
|
||||
constexpr std::size_t kSocks5RequestMaxSize = 257;
|
||||
|
@ -286,8 +283,8 @@ auto ConnectViaProxy(Socket& socket, const SystemConfiguredProxy&, std::string_v
|
|||
auto proxyOpt = GetSystemProxySettings();
|
||||
|
||||
co_await std::visit(
|
||||
[&](auto&& proxy_variant) -> boost::asio::awaitable<void> { // NOLINT
|
||||
co_await ConnectViaProxy(socket, proxy_variant, host, port); // GCC error if co_return
|
||||
[&](auto&& proxyVariant) -> boost::asio::awaitable<void> { // NOLINT
|
||||
co_await ConnectViaProxy(socket, proxyVariant, host, port); // GCC error if co_return
|
||||
},
|
||||
proxyOpt);
|
||||
}
|
||||
|
@ -318,11 +315,10 @@ auto ConnectToServer(Socket& socket, const SystemConfiguredProxy& proxy, std::st
|
|||
template <typename Socket>
|
||||
auto ConnectWithProxy(Socket& socket, const Proxy& proxy, std::string_view host, std::uint16_t port) -> boost::asio::awaitable<void> {
|
||||
co_await std::visit(
|
||||
[&socket, host, port](const auto& proxy_variant) {
|
||||
return ConnectToServer(socket, proxy_variant, host, port);
|
||||
[&socket, host, port](const auto& proxyVariant) {
|
||||
return ConnectToServer(socket, proxyVariant, host, port);
|
||||
},
|
||||
proxy);
|
||||
// co_await awaitable;
|
||||
}
|
||||
|
||||
inline auto GetAuthData(const PlainUserAccount& account) -> std::string {
|
||||
|
|
Loading…
Reference in a new issue