From 32ce997d51b05c3d45e085a84982bd894ce211e7 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Mon, 28 Aug 2017 19:08:35 +0300 Subject: [PATCH] Internal Error response to WebServer responses. --- .../main/java/com/djrapitops/plan/Plan.java | 2 -- .../plan/systems/webserver/WebServer.java | 20 ++++++++++++------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Plan/src/main/java/com/djrapitops/plan/Plan.java b/Plan/src/main/java/com/djrapitops/plan/Plan.java index 4d0c719a6..a42cd573f 100644 --- a/Plan/src/main/java/com/djrapitops/plan/Plan.java +++ b/Plan/src/main/java/com/djrapitops/plan/Plan.java @@ -186,8 +186,6 @@ public class Plan extends BukkitPlugin implements IPlan { Log.infoColor(Locale.get(Msg.ENABLE_NOTIFY_EMPTY_IP).toString()); } - Benchmark.stop("Enable", "WebServer Initialization"); - registerCommand(new PlanCommand(this)); Benchmark.start("Hook to 3rd party plugins"); diff --git a/Plan/src/main/java/com/djrapitops/plan/systems/webserver/WebServer.java b/Plan/src/main/java/com/djrapitops/plan/systems/webserver/WebServer.java index a81928430..f333c0ae6 100644 --- a/Plan/src/main/java/com/djrapitops/plan/systems/webserver/WebServer.java +++ b/Plan/src/main/java/com/djrapitops/plan/systems/webserver/WebServer.java @@ -98,12 +98,11 @@ public class WebServer { server.createContext("/", new HttpHandler() { @Override - public void handle(HttpExchange exchange) throws IOException { + public void handle(HttpExchange exchange) { + Headers responseHeaders = exchange.getResponseHeaders(); + URI uri = exchange.getRequestURI(); + String target = uri.toString(); try { - Headers responseHeaders = exchange.getResponseHeaders(); - URI uri = exchange.getRequestURI(); - String target = uri.toString(); - boolean apiRequest = "POST".equals(exchange.getRequestMethod()); Response response = null; @@ -141,8 +140,7 @@ public class WebServer { } sendData(responseHeaders, exchange, response); } catch (Exception e) { - Log.toLog(this.getClass().getName(), e); - throw e; + internalErrorResponse(exchange, responseHeaders, target, e); } finally { exchange.close(); } @@ -175,6 +173,14 @@ public class WebServer { } } + private void internalErrorResponse(HttpExchange exchange, Headers responseHeaders, String target, Exception e) { + try { + sendData(responseHeaders, exchange, new InternalErrorResponse(e, target)); + } catch (IOException e1) { + Log.toLog(this.getClass().getName(), e1); + } + } + private WebUser getUser(Headers requestHeaders) { Benchmark.start("getUser"); try {