![JAR search and dependency download from the Maven repository](/logo.png)
net.redpipe.engine.resteasy.DefaultExceptionMapper Maven / Gradle / Ivy
package net.redpipe.engine.resteasy;
import java.io.PrintWriter;
import java.io.StringWriter;
import javax.ws.rs.WebApplicationException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
@Provider
public class DefaultExceptionMapper implements ExceptionMapper {
@Override
public Response toResponse(Throwable exception) {
StringWriter writer = new StringWriter();
PrintWriter printWriter = new PrintWriter(writer);
exception.printStackTrace(printWriter);
// FIXME: this should really end up in a template.
String text =
""+
" Error: "+exception.getMessage()+" "+
" Error: "+exception.getMessage()+"
"+
" "+writer.toString()+
"
";
if(exception instanceof WebApplicationException) {
Response ret = ((WebApplicationException) exception).getResponse();
// FIXME: probably we don't want to ignore exception entities for exceptions not from resteasy?
return Response.status(ret.getStatus()).entity(text).type(MediaType.TEXT_HTML).build();
}
return Response.status(Status.INTERNAL_SERVER_ERROR).entity(text).type(MediaType.TEXT_HTML).build();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy