mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-06-01 05:11:34 +02:00
Add a JSON response instead of default error page
Use custom error handler instead of default that leaks server info. - Use in API context - Use in default/web context - Add tests
This commit is contained in:
committed by
Michael Mazour
parent
0d2a33be14
commit
d9e368ac35
@@ -123,6 +123,9 @@ public class GitBridgeServer {
|
||||
handlers.addHandler(new DefaultHandler());
|
||||
|
||||
api.setHandler(handlers);
|
||||
|
||||
ProductionErrorHandler errorHandler = new ProductionErrorHandler();
|
||||
api.setErrorHandler(errorHandler);
|
||||
return api;
|
||||
}
|
||||
|
||||
@@ -149,6 +152,8 @@ public class GitBridgeServer {
|
||||
),
|
||||
"/*"
|
||||
);
|
||||
ProductionErrorHandler errorHandler = new ProductionErrorHandler();
|
||||
servletContextHandler.setErrorHandler(errorHandler);
|
||||
return servletContextHandler;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package uk.ac.ic.wlgitbridge.server;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import org.eclipse.jetty.server.handler.ErrorHandler;
|
||||
import java.io.IOException;
|
||||
|
||||
public class ProductionErrorHandler extends ErrorHandler {
|
||||
@Override
|
||||
public void handle(
|
||||
String target,
|
||||
org.eclipse.jetty.server.Request baseRequest,
|
||||
HttpServletRequest request,
|
||||
HttpServletResponse response
|
||||
) throws IOException {
|
||||
response.getWriter()
|
||||
.append("{\"message\":\"HTTP error ")
|
||||
.append(String.valueOf(response.getStatus()))
|
||||
.append("\"}");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user