From 4fd8a07b560dcd4ad5706684d512d33707de3da0 Mon Sep 17 00:00:00 2001 From: Jean-Francois Dockes Date: Fri, 3 Jul 2020 19:26:37 +0200 Subject: [PATCH] Adapt streamproxy to newer microhttpd where results are now an enum Signed-off-by: Bernd Kuhls [downloaded from upstream commit https://framagit.org/medoc92/upmpdcli/-/commit/4fd8a07b560dcd4ad5706684d512d33707de3da0] --- src/mediaserver/cdplugins/streamproxy.cpp | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/mediaserver/cdplugins/streamproxy.cpp b/src/mediaserver/cdplugins/streamproxy.cpp index abc57915..8d283834 100644 --- a/src/mediaserver/cdplugins/streamproxy.cpp +++ b/src/mediaserver/cdplugins/streamproxy.cpp @@ -28,6 +28,11 @@ #include #include + +#if MHD_VERSION < 0x00097002 +typedef int MHD_Result; +#endif + #include #include #include @@ -155,7 +160,7 @@ public: ~Internal(); bool startMHD(); - int answerConn( + MHD_Result answerConn( struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, @@ -202,7 +207,7 @@ StreamProxy::Internal::Internal(int _listenport, UrlTransFunc _urltrans) } -static int answer_to_connection( +static MHD_Result answer_to_connection( void *cls, struct MHD_Connection *conn, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, @@ -214,7 +219,7 @@ static int answer_to_connection( return internal->answerConn( conn, url, method, version, upload_data, upload_data_size, con_cls); } else { - return -1; + return MHD_NO; } } @@ -238,8 +243,8 @@ static int print_out_key (void *cls, enum MHD_ValueKind kind, } #endif /* PRINT_KEYS */ -static int mapvalues_cb(void *cls, enum MHD_ValueKind kind, - const char *key, const char *value) +static MHD_Result mapvalues_cb(void *cls, enum MHD_ValueKind kind, + const char *key, const char *value) { unordered_map *mp = (unordered_map *)cls; if (mp) { @@ -307,7 +312,7 @@ static bool processRange(struct MHD_Connection *mhdconn, uint64_t& offset) return true; } -int StreamProxy::Internal::answerConn( +MHD_Result StreamProxy::Internal::answerConn( struct MHD_Connection *mhdconn, const char *_url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, @@ -352,7 +357,7 @@ int StreamProxy::Internal::answerConn( return MHD_NO; } MHD_add_response_header (response, "Location", url.c_str()); - int ret = MHD_queue_response(mhdconn, 302, response); + MHD_Result ret = MHD_queue_response(mhdconn, 302, response); MHD_destroy_response(response); return ret; } @@ -393,7 +398,7 @@ int StreamProxy::Internal::answerConn( int code = httpcode ? httpcode : MHD_HTTP_INTERNAL_SERVER_ERROR; struct MHD_Response *response = MHD_create_response_from_buffer(0, 0, MHD_RESPMEM_PERSISTENT); - int ret = MHD_queue_response(mhdconn, code, response); + MHD_Result ret = MHD_queue_response(mhdconn, code, response); MHD_destroy_response(response); LOGINF("StreamProxy::answerConn (1): return with http code: " << code << endl); @@ -434,7 +439,7 @@ int StreamProxy::Internal::answerConn( if (reader->fetcher->fetchDone(&fetchcode, &httpcode)) { code = httpcode ? httpcode : MHD_HTTP_INTERNAL_SERVER_ERROR; } - int ret = MHD_queue_response(mhdconn, code, response); + MHD_Result ret = MHD_queue_response(mhdconn, code, response); MHD_destroy_response(response); return ret; } -- GitLab