From 6b35cd0116b1b2e06c422778cc4e4aeaff4e1be7 Mon Sep 17 00:00:00 2001 From: yhirose Date: Mon, 21 Dec 2020 08:15:06 -0500 Subject: [PATCH] Updated README --- README.md | 45 ++++++++++++++++++++++----------------------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index d3cbd4d..0851d8f 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,28 @@ res->body; // "Hello World!" 1. Run server at https://repl.it/@yhirose/cpp-httplib-server 2. Run client at https://repl.it/@yhirose/cpp-httplib-client +OpenSSL Support +--------------- + +SSL support is available with `CPPHTTPLIB_OPENSSL_SUPPORT`. `libssl` and `libcrypto` should be linked. + +NOTE: cpp-httplib currently supports only version 1.1.1. + +```c++ +#define CPPHTTPLIB_OPENSSL_SUPPORT + +httplib::SSLServer svr("./cert.pem", "./key.pem"); + +httplib::SSLClient cli("localhost", 1234); // or `httplib::Client cli("https://localhost:1234");` +cli.set_ca_cert_path("./ca-bundle.crt"); +cli.enable_server_certificate_verification(true); +``` + +Note: When using SSL, it seems impossible to avoid SIGPIPE in all cases, since on some operating systems, SIGPIPE +can only be suppressed on a per-message basis, but there is no way to make the OpenSSL library do so for its +internal communications. If your program needs to avoid being terminated on SIGPIPE, the only fully general way might +be to set up a signal handler for SIGPIPE to handle or ignore it yourself. + Server ------ @@ -635,29 +657,6 @@ NOTE: This feature is not available on Windows, yet. cli.set_interface("eth0"); // Interface name, IP address or host name ``` -OpenSSL Support ---------------- - -SSL support is available with `CPPHTTPLIB_OPENSSL_SUPPORT`. `libssl` and `libcrypto` should be linked. - -NOTE: cpp-httplib currently supports only version 1.1.1. - -```c++ -#define CPPHTTPLIB_OPENSSL_SUPPORT - -httplib::SSLServer svr("./cert.pem", "./key.pem"); - -httplib::SSLClient cli("localhost", 1234); // or `httplib::Client cli("https://localhost:1234");` -cli.set_ca_cert_path("./ca-bundle.crt"); -cli.enable_server_certificate_verification(true); -``` - -Note: When using SSL, it seems impossible to avoid SIGPIPE in all cases, since on some operating systems, SIGPIPE -can only be suppressed on a per-message basis, but there is no way to make the OpenSSL library do so for its -internal communications. If your program needs to avoid being terminated on SIGPIPE, the only fully general way might -be to set up a signal handler for SIGPIPE to handle or ignore it yourself. - - Compression -----------