Internal Error response to WebServer responses.

This commit is contained in:
Rsl1122 2017-08-28 19:08:35 +03:00
parent f237855927
commit 32ce997d51
2 changed files with 13 additions and 9 deletions

View File

@ -186,8 +186,6 @@ public class Plan extends BukkitPlugin<Plan> 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");

View File

@ -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 {