UID2-Client-XS
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
ext/uid2-client-cpp11/lib/external/httplib.h view on Meta::CPAN
void set_default_headers(Headers headers);
void set_tcp_nodelay(bool on);
void set_socket_options(SocketOptions socket_options);
void set_connection_timeout(time_t sec, time_t usec = 0);
void set_read_timeout(time_t sec, time_t usec = 0);
void set_write_timeout(time_t sec, time_t usec = 0);
void set_basic_auth(const char* username, const char* password);
void set_bearer_token_auth(const char* token);
#ifdef CPPHTTPLIB_OPENSSL_SUPPORT
void set_digest_auth(const char* username, const char* password);
#endif
void set_keep_alive(bool on);
void set_follow_location(bool on);
void set_compress(bool on);
void set_decompress(bool on);
void set_interface(const char* intf);
void set_proxy(const char* host, int port);
void set_proxy_basic_auth(const char* username, const char* password);
void set_proxy_bearer_token_auth(const char* token);
#ifdef CPPHTTPLIB_OPENSSL_SUPPORT
void set_proxy_digest_auth(const char* username, const char* password);
#endif
#ifdef CPPHTTPLIB_OPENSSL_SUPPORT
void enable_server_certificate_verification(bool enabled);
#endif
void set_logger(Logger logger);
// SSL
#ifdef CPPHTTPLIB_OPENSSL_SUPPORT
void set_ca_cert_path(const char* ca_cert_file_path,
const char* ca_cert_dir_path = nullptr);
void set_ca_cert_store(X509_STORE* ca_cert_store);
long get_openssl_verify_result() const;
SSL_CTX* ssl_context() const;
#endif
private:
std::unique_ptr<ClientImpl> cli_;
#ifdef CPPHTTPLIB_OPENSSL_SUPPORT
bool is_ssl_ = false;
#endif
};
#ifdef CPPHTTPLIB_OPENSSL_SUPPORT
class SSLServer : public Server {
public:
SSLServer(const char* cert_path, const char* private_key_path,
const char* client_ca_cert_file_path = nullptr,
const char* client_ca_cert_dir_path = nullptr);
SSLServer(X509* cert, EVP_PKEY* private_key,
X509_STORE* client_ca_cert_store = nullptr);
~SSLServer() override;
bool is_valid() const override;
private:
bool process_and_close_socket(socket_t sock) override;
SSL_CTX* ctx_;
std::mutex ctx_mutex_;
};
class SSLClient : public ClientImpl {
public:
explicit SSLClient(const std::string& host);
explicit SSLClient(const std::string& host, int port);
explicit SSLClient(const std::string& host, int port,
const std::string& client_cert_path,
const std::string& client_key_path);
explicit SSLClient(const std::string& host, int port, X509* client_cert,
EVP_PKEY* client_key);
~SSLClient() override;
bool is_valid() const override;
void set_ca_cert_path(const char* ca_cert_file_path,
const char* ca_cert_dir_path = nullptr);
void set_ca_cert_store(X509_STORE* ca_cert_store);
long get_openssl_verify_result() const;
SSL_CTX* ssl_context() const;
private:
bool create_and_connect_socket(Socket& socket, Error& error) override;
void shutdown_ssl(Socket& socket, bool shutdown_gracefully) override;
bool process_socket(const Socket& socket,
std::function<bool(Stream& strm)> callback) override;
bool is_ssl() const override;
bool connect_with_proxy(Socket& sock, Response& res, bool& success,
Error& error);
bool initialize_ssl(Socket& socket, Error& error);
bool load_certs();
bool verify_host(X509* server_cert) const;
bool verify_host_with_subject_alt_name(X509* server_cert) const;
bool verify_host_with_common_name(X509* server_cert) const;
bool check_host_name(const char* pattern, size_t pattern_len) const;
SSL_CTX* ctx_;
std::mutex ctx_mutex_;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.594 second using v1.00-cache-2.02-grep-82fe00e-cpan-f73e49a70403 )