package femr.util;
import play.http.HttpErrorHandler;
import play.mvc.Http;
import play.mvc.Result;
import play.mvc.Results;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.CompletionStage;
public class ErrorHandler implements HttpErrorHandler {
@Override
public CompletionStage<Result> onClientError(Http.RequestHeader request, int statusCode, String message) {
//When a resource is not found or a bad request is requested
if (statusCode == Http.Status.NOT_FOUND || statusCode == Http.Status.BAD_REQUEST){
return CompletableFuture.completedFuture(
Results.internalServerError(
femr.ui.views.html.errors.global.render()
)
);
}
return null;
}
//called when throwing a runtime exception
@Override
public CompletionStage<Result> onServerError(Http.RequestHeader request, Throwable exception) {
return CompletableFuture.completedFuture(
Results.internalServerError(
femr.ui.views.html.errors.global.render()
)
);
}
}