All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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