Group :: Sistema/Bibliotecas
RPM: libjson-rpc-cpp
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
Patch: libjson-rpc-cpp-1.3.0-compatibility-with-libmicrohttpd-0.9.71.patch
Download
Download
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 <jsonrpccpp/common/specificationparser.h>
#include <sstream>
+#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<std::string, IClientConnectionHandler *> 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<std::string,std::string> 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);
};