Loading client/client.cpp +12 −4 Changes for client/client.cpp: 12 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -184,7 +184,7 @@ void ClientConnection::setUrl(const libhttppp::HttpUrl& url) { if (path == "/") path = "/settings/admin/api"; _RequestPath = path; if (_Client) { _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers); _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); } } Loading @@ -200,7 +200,7 @@ void ClientConnection::setUrl(const std::string& url) { if (path == "/") path = "/settings/admin/api"; _RequestPath = path; if (_Client) { _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers); _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); } } Loading Loading @@ -230,9 +230,17 @@ void ClientConnection::setMaxTries(int maxtries) { _MaxTries = maxtries; } void ClientConnection::setTimeout(int timeout_sec) { _Timeout = timeout_sec; } void ClientConnection::setTlsVerify(bool verify) { _TrustPolicy.verifyPeer = verify; if (_Client) { _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); } } libhttppp::HttpClient& ClientConnection::httpClient() { if (!_Client) { _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers); _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); } return *_Client; Loading @@ -246,7 +254,7 @@ bool ClientConnection::downgrade() { } else { return false; } _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers); _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); return true; } Loading client/client.h +9 −0 Changes for client/client.h: 9 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ #include "exception.h" #include <httppp/http.h> #include <netplus/crypto/cert_verify.h> #pragma once Loading @@ -77,6 +78,13 @@ namespace authdb { void setMaxTries(int maxtries); void setTimeout(int timeout_sec); // Peer verification for the underlying HttpClient's TLS connection. Defaults to // netplus::TlsTrustPolicy's own default (verify hostname + CA chain). Turn off for // an authdb endpoint reached by bare IP whose certificate SAN doesn't cover that IP // -- with verification on, HttpClient's ctor throws "hostname mismatch" instead of // connecting. void setTlsVerify(bool verify); const uuid::uuid &getClientId(); const uuid::uuid &getSessionID(); Loading @@ -103,6 +111,7 @@ namespace authdb { std::string _RequestPath; std::unique_ptr<libhttppp::HttpClient> _Client; netplus::TlsTrustPolicy _TrustPolicy; uuid::uuid _SessionID; uuid::uuid _ClientId; int _MaxTries = 3; Loading Loading
client/client.cpp +12 −4 Changes for client/client.cpp: 12 added lines, 4 removed lines. Original line number Diff line number Diff line Loading @@ -184,7 +184,7 @@ void ClientConnection::setUrl(const libhttppp::HttpUrl& url) { if (path == "/") path = "/settings/admin/api"; _RequestPath = path; if (_Client) { _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers); _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); } } Loading @@ -200,7 +200,7 @@ void ClientConnection::setUrl(const std::string& url) { if (path == "/") path = "/settings/admin/api"; _RequestPath = path; if (_Client) { _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers); _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); } } Loading Loading @@ -230,9 +230,17 @@ void ClientConnection::setMaxTries(int maxtries) { _MaxTries = maxtries; } void ClientConnection::setTimeout(int timeout_sec) { _Timeout = timeout_sec; } void ClientConnection::setTlsVerify(bool verify) { _TrustPolicy.verifyPeer = verify; if (_Client) { _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); } } libhttppp::HttpClient& ClientConnection::httpClient() { if (!_Client) { _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers); _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); } return *_Client; Loading @@ -246,7 +254,7 @@ bool ClientConnection::downgrade() { } else { return false; } _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers); _Client = std::make_unique<libhttppp::HttpClient>(_Url, _Vers, 60, _TrustPolicy); _Client->setTimeout(_Timeout); return true; } Loading
client/client.h +9 −0 Changes for client/client.h: 9 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -51,6 +51,7 @@ #include "exception.h" #include <httppp/http.h> #include <netplus/crypto/cert_verify.h> #pragma once Loading @@ -77,6 +78,13 @@ namespace authdb { void setMaxTries(int maxtries); void setTimeout(int timeout_sec); // Peer verification for the underlying HttpClient's TLS connection. Defaults to // netplus::TlsTrustPolicy's own default (verify hostname + CA chain). Turn off for // an authdb endpoint reached by bare IP whose certificate SAN doesn't cover that IP // -- with verification on, HttpClient's ctor throws "hostname mismatch" instead of // connecting. void setTlsVerify(bool verify); const uuid::uuid &getClientId(); const uuid::uuid &getSessionID(); Loading @@ -103,6 +111,7 @@ namespace authdb { std::string _RequestPath; std::unique_ptr<libhttppp::HttpClient> _Client; netplus::TlsTrustPolicy _TrustPolicy; uuid::uuid _SessionID; uuid::uuid _ClientId; int _MaxTries = 3; Loading