--- a/src/mediaserver/cdplugins/streamproxy.cpp
+++ b/src/mediaserver/cdplugins/streamproxy.cpp
@@ -155,7 +155,7 @@ public:
     ~Internal();
     bool startMHD();
 
-    int answerConn(
+    enum 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 +202,7 @@ StreamProxy::Internal::Internal(int _listenport, UrlTransFunc _urltrans)
 }
 
 
-static int answer_to_connection(
+static enum 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 +214,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,7 +238,7 @@ static int print_out_key (void *cls, enum MHD_ValueKind kind,
 }
 #endif /* PRINT_KEYS */
 
-static int mapvalues_cb(void *cls, enum MHD_ValueKind kind, 
+static enum MHD_Result mapvalues_cb(void *cls, enum MHD_ValueKind kind, 
                         const char *key, const char *value)
 {
     unordered_map<string,string> *mp = (unordered_map<string,string> *)cls;
@@ -307,7 +307,7 @@ static bool processRange(struct MHD_Connection *mhdconn, uint64_t& offset)
     return true;
 }
 
-int StreamProxy::Internal::answerConn(
+enum 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 +352,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);
+            enum MHD_Result ret = MHD_queue_response(mhdconn, 302, response);
             MHD_destroy_response(response);
             return ret;
         }
@@ -393,7 +393,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);
+        enum 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 +434,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);
+    enum MHD_Result ret = MHD_queue_response(mhdconn, code, response);
     MHD_destroy_response(response);
     return ret;
 }
