diff --git a/src/http_server.cpp b/src/http_server.cpp index ee830593..73e3352a 100644 --- a/src/http_server.cpp +++ b/src/http_server.cpp @@ -53,8 +53,8 @@ void HttpServer::on_accept(h2o_socket_t *listener, const char *err) { } int HttpServer::setup_ssl(const char *cert_file, const char *key_file) { - SSL_load_error_strings(); SSL_library_init(); + SSL_load_error_strings(); accept_ctx->ssl_ctx = SSL_CTX_new(SSLv23_server_method()); diff --git a/src/typesense_server_utils.cpp b/src/typesense_server_utils.cpp index 8c8c03cd..7059363a 100644 --- a/src/typesense_server_utils.cpp +++ b/src/typesense_server_utils.cpp @@ -1,5 +1,6 @@ #include "core_api.h" #include "typesense_server_utils.h" +#include HttpServer* server; @@ -88,6 +89,8 @@ int run_server(cmdline::parser & options, void (*master_server_routes)(), void ( return 1; } + curl_global_init(CURL_GLOBAL_SSL); + server = new HttpServer( options.get("listen-address"), options.get("listen-port"), @@ -124,6 +127,8 @@ int run_server(cmdline::parser & options, void (*master_server_routes)(), void ( int ret_code = server->run(); + curl_global_cleanup(); + // we are out of the event loop here delete server; CollectionManager::get_instance().dispose();