Loading src/http.cpp +18 −14 Original line number Diff line number Diff line Loading @@ -217,7 +217,13 @@ libhttppp::HttpClient::HttpClient(const HttpUrl& desturl) } void libhttppp::HttpClient::resetConnection(){ if (_url.getProtocol() == HttpUrl::HTTPS) { if (_url.getProtocol() == HttpUrl::HTTP3) { _cltsock = std::make_unique<netplus::quic>(); _cltsock->connect(_url.getHost(), _url.getPort(), false); _cltsock->setNonBlock(); _isH2 = false; std::cerr << "[HttpClient] QUIC connection established" << std::endl; } else if (_url.getProtocol() == HttpUrl::HTTPS) { std::map<std::string, netplus::ssl::CertificateBundle> certs; auto sslsock = std::make_unique<netplus::ssl>(certs,-1); Loading @@ -226,29 +232,27 @@ void libhttppp::HttpClient::resetConnection(){ std::string("\x02h2\x08http/1.1", 12); _cltsock = std::move(sslsock); } else { _cltsock = std::make_unique<netplus::tcp>(-1); } _cltsock->connect(_url.getHost(), _url.getPort(), false); _cltsock->setNonBlock(); // Check negotiated ALPN after TLS handshake if (auto *sslsock = dynamic_cast<netplus::ssl*>(_cltsock.get())) { const std::string &alpn = sslsock->getSelectedAlpn(); const std::string &alpn = dynamic_cast<netplus::ssl*>(_cltsock.get())->getSelectedAlpn(); _isH2 = (alpn == "h2"); std::cerr << "[HttpClient] ALPN negotiated: '" << alpn << "' isH2=" << _isH2 << std::endl; } else { _cltsock = std::make_unique<netplus::tcp>(-1); _cltsock->connect(_url.getHost(), _url.getPort(), false); _cltsock->setNonBlock(); _isH2 = false; std::cerr << "[HttpClient] Not an SSL socket" << std::endl; std::cerr << "[HttpClient] Plain TCP connection" << std::endl; } } void libhttppp::HttpClient::reconnect(){ if(_url.getProtocol() == HttpUrl::HTTPS) { if (_url.getProtocol() == HttpUrl::HTTP3) { _cltsock = std::make_unique<netplus::quic>(); } else if(_url.getProtocol() == HttpUrl::HTTPS) { std::map<std::string, netplus::ssl::CertificateBundle> certs; auto sslsock = std::make_unique<netplus::ssl>(certs,-1); Loading Loading
src/http.cpp +18 −14 Original line number Diff line number Diff line Loading @@ -217,7 +217,13 @@ libhttppp::HttpClient::HttpClient(const HttpUrl& desturl) } void libhttppp::HttpClient::resetConnection(){ if (_url.getProtocol() == HttpUrl::HTTPS) { if (_url.getProtocol() == HttpUrl::HTTP3) { _cltsock = std::make_unique<netplus::quic>(); _cltsock->connect(_url.getHost(), _url.getPort(), false); _cltsock->setNonBlock(); _isH2 = false; std::cerr << "[HttpClient] QUIC connection established" << std::endl; } else if (_url.getProtocol() == HttpUrl::HTTPS) { std::map<std::string, netplus::ssl::CertificateBundle> certs; auto sslsock = std::make_unique<netplus::ssl>(certs,-1); Loading @@ -226,29 +232,27 @@ void libhttppp::HttpClient::resetConnection(){ std::string("\x02h2\x08http/1.1", 12); _cltsock = std::move(sslsock); } else { _cltsock = std::make_unique<netplus::tcp>(-1); } _cltsock->connect(_url.getHost(), _url.getPort(), false); _cltsock->setNonBlock(); // Check negotiated ALPN after TLS handshake if (auto *sslsock = dynamic_cast<netplus::ssl*>(_cltsock.get())) { const std::string &alpn = sslsock->getSelectedAlpn(); const std::string &alpn = dynamic_cast<netplus::ssl*>(_cltsock.get())->getSelectedAlpn(); _isH2 = (alpn == "h2"); std::cerr << "[HttpClient] ALPN negotiated: '" << alpn << "' isH2=" << _isH2 << std::endl; } else { _cltsock = std::make_unique<netplus::tcp>(-1); _cltsock->connect(_url.getHost(), _url.getPort(), false); _cltsock->setNonBlock(); _isH2 = false; std::cerr << "[HttpClient] Not an SSL socket" << std::endl; std::cerr << "[HttpClient] Plain TCP connection" << std::endl; } } void libhttppp::HttpClient::reconnect(){ if(_url.getProtocol() == HttpUrl::HTTPS) { if (_url.getProtocol() == HttpUrl::HTTP3) { _cltsock = std::make_unique<netplus::quic>(); } else if(_url.getProtocol() == HttpUrl::HTTPS) { std::map<std::string, netplus::ssl::CertificateBundle> certs; auto sslsock = std::make_unique<netplus::ssl>(certs,-1); Loading