package org.jboss.resteasy.test.asynch.resource;
import org.jboss.logging.Logger;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;
@Provider
public class JaxrsAsyncServletPrintingErrorHandler implements ExceptionMapper<Throwable> {
private Logger logger = Logger.getLogger(JaxrsAsyncServletApp.class);
@Override
public Response toResponse(Throwable throwable) {
StringWriter errors = new StringWriter();
throwable.printStackTrace(new PrintWriter(errors));
logger.error(errors.toString());
Writer result = new StringWriter();
PrintWriter printWriter = new PrintWriter(result);
throwable.printStackTrace(printWriter);
return Response.status(Response.Status.NOT_ACCEPTABLE).entity(result.toString())
.build();
}
}