From a4eebddcbfce69d18892f97d6bb393aa781b8f79 Mon Sep 17 00:00:00 2001 From: Alexandru Macocian Date: Fri, 31 Jan 2020 16:32:31 +0100 Subject: [PATCH] - HttpRoutingHandler returns InternalServerError on uncaught exception in HttpRoutes --- MTSC/MTSC.csproj | 6 +++--- MTSC/Server/Handlers/HttpRoutingHandler.cs | 11 ++++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/MTSC/MTSC.csproj b/MTSC/MTSC.csproj index 1cfc4d4..45c06fe 100644 --- a/MTSC/MTSC.csproj +++ b/MTSC/MTSC.csproj @@ -5,12 +5,12 @@ netcoreapp2.1;net48;netstandard2.0;netcoreapp3.0 - 1.3.7 + 1.3.8 Alexandru-Victor Macocian MTSC Modular TCP Server and Client - 0.1.3.7 - 0.1.3.7 + 0.1.3.8 + 0.1.3.8 true AnyCPU;x64 https://github.com/AlexMacocian/MTSC diff --git a/MTSC/Server/Handlers/HttpRoutingHandler.cs b/MTSC/Server/Handlers/HttpRoutingHandler.cs index b394b05..034602d 100644 --- a/MTSC/Server/Handlers/HttpRoutingHandler.cs +++ b/MTSC/Server/Handlers/HttpRoutingHandler.cs @@ -90,7 +90,16 @@ namespace MTSC.Server.Handlers (var module, var routeEnabler) = moduleDictionary[request.Method][request.RequestURI]; if(routeEnabler.Invoke(request, client)) { - server.QueueMessage(client, module.HandleRequest(request, client, server).GetPackedResponse(true)); + try + { + server.QueueMessage(client, module.HandleRequest(request, client, server).GetPackedResponse(true)); + } + catch(Exception e) + { + server.LogDebug("Exception: " + e.Message); + server.LogDebug("Stacktrace: " + e.StackTrace); + server.QueueMessage(client, new HttpResponse() { StatusCode = StatusCodes.InternalServerError }.GetPackedResponse(true)); + } return true; } else