From ba612c3df64b88fef85afb8d50863eaab1ec00b8 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Wed, 31 Oct 2018 10:44:44 +0800 Subject: [PATCH] http: return 415 instead of hang up if no mimetype for fileserve Change the err log for this to info, since it makes clear what the problem is now at the client. --- lib/roles/http/server/server.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/roles/http/server/server.c b/lib/roles/http/server/server.c index 16e3f1041..5e66e7537 100644 --- a/lib/roles/http/server/server.c +++ b/lib/roles/http/server/server.c @@ -645,8 +645,13 @@ lws_http_serve(struct lws *wsi, char *uri, const char *origin, mimetype = lws_get_mimetype(path, m); if (!mimetype) { - lwsl_err("unknown mimetype for %s\n", path); - goto bail; + lwsl_info("unknown mimetype for %s\n", path); + if (lws_return_http_status(wsi, + HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE, NULL) || + lws_http_transaction_completed(wsi)) + return -1; + + return 0; } if (!mimetype[0]) lwsl_debug("sending no mimetype for %s\n", path); @@ -699,9 +704,6 @@ lws_http_serve(struct lws *wsi, char *uri, const char *origin, return -1; /* error or can't reuse connection: close the socket */ return 0; -bail: - - return -1; notfound: