diff -Nrup a/src/jsonrpccpp/server/connectors/httpserver.cpp b/src/jsonrpccpp/server/connectors/httpserver.cpp --- a/src/jsonrpccpp/server/connectors/httpserver.cpp 2020-01-13 22:48:30.000000000 +0100 +++ b/src/jsonrpccpp/server/connectors/httpserver.cpp 2020-07-26 18:42:23.148244386 +0200 @@ -14,6 +14,10 @@ #include #include +#if MHD_VERSION < 0x00097002 +typedef int MHD_Result; +#endif + using namespace jsonrpc; using namespace std; @@ -55,7 +59,7 @@ bool HttpServer::StartListening() { (MHD_is_feature_supported(MHD_FEATURE_EPOLL) == MHD_YES); const bool has_poll = (MHD_is_feature_supported(MHD_FEATURE_POLL) == MHD_YES); - unsigned int mhd_flags = MHD_USE_DUAL_STACK; + MHD_FLAG mhd_flags = MHD_USE_DUAL_STACK; if (has_epoll) // In MHD version 0.9.44 the flag is renamed to @@ -121,8 +125,8 @@ bool HttpServer::SendResponse(const stri MHD_add_response_header(result, "Content-Type", "application/json"); MHD_add_response_header(result, "Access-Control-Allow-Origin", "*"); - int ret = MHD_queue_response(client_connection->connection, - client_connection->code, result); + MHD_Result ret = MHD_queue_response(client_connection->connection, + client_connection->code, result); MHD_destroy_response(result); return ret == MHD_YES; } @@ -139,8 +143,8 @@ bool HttpServer::SendOptionsResponse(voi "origin, content-type, accept"); MHD_add_response_header(result, "DAV", "1"); - int ret = MHD_queue_response(client_connection->connection, - client_connection->code, result); + MHD_Result ret = MHD_queue_response(client_connection->connection, + client_connection->code, result); MHD_destroy_response(result); return ret == MHD_YES; } @@ -151,10 +155,10 @@ void HttpServer::SetUrlHandler(const str this->SetHandler(NULL); } -int HttpServer::callback(void *cls, MHD_Connection *connection, const char *url, - const char *method, const char *version, - const char *upload_data, size_t *upload_data_size, - void **con_cls) { +MHD_Result HttpServer::callback(void *cls, MHD_Connection *connection, const char *url, + const char *method, const char *version, + const char *upload_data, size_t *upload_data_size, + void **con_cls) { (void)version; if (*con_cls == NULL) { struct mhd_coninfo *client_connection = new mhd_coninfo; diff --git a/src/jsonrpccpp/server/connectors/httpserver.h b/src/jsonrpccpp/server/connectors/httpserver.h index 7785edb..74cce4f 100644 --- a/src/jsonrpccpp/server/connectors/httpserver.h +++ b/src/jsonrpccpp/server/connectors/httpserver.h @@ -79,7 +79,7 @@ private: std::map urlhandler; struct sockaddr_in loopback_addr; - static int callback(void *cls, struct MHD_Connection *connection, + static MHD_Result callback(void *cls, struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); diff --git a/src/test/testhttpserver.h b/src/test/testhttpserver.h index f438c64..ef7429b 100644 --- a/src/test/testhttpserver.h +++ b/src/test/testhttpserver.h @@ -36,7 +36,7 @@ namespace jsonrpc { std::map headers; std::string response; - static int callback(void *cls, struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); + static MHD_Result callback(void *cls, struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **con_cls); static int header_iterator (void *cls, enum MHD_ValueKind kind, const char *key, const char *value); };