Commit 0c933981bd580a0ba11d5742fce463361968221e

Authored by Cleverson Sacramento
1 parent 751a30f8
Exists in master

Erro HTTP 500 não expõe o stack trace do servidor.

impl/extension/rest/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/DefaultExceptionMapper.java
1 -//package br.gov.frameworkdemoiselle.internal.implementation;  
2 -//  
3 -//import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;  
4 -//  
5 -//import java.util.ResourceBundle;  
6 -//  
7 -//import javax.ws.rs.core.Response;  
8 -//import javax.ws.rs.ext.ExceptionMapper;  
9 -//import javax.ws.rs.ext.Provider;  
10 -//  
11 -//import org.slf4j.Logger;  
12 -//  
13 -//import br.gov.frameworkdemoiselle.util.Beans;  
14 -//import br.gov.frameworkdemoiselle.util.NamedQualifier;  
15 -//  
16 -//@Provider  
17 -//public class DefaultExceptionMapper implements ExceptionMapper<Throwable> {  
18 -//  
19 -// @Override  
20 -// public Response toResponse(Throwable exception) {  
21 -// ResourceBundle bundle = Beans.getReference(ResourceBundle.class, new NamedQualifier("demoiselle-rest-bundle"));  
22 -// Logger logger = Beans.getReference(Logger.class);  
23 -//  
24 -// logger.error(exception.getMessage(), exception);  
25 -//  
26 -// // throw new DemoiselleException(cause);  
27 -//  
28 -// String message = bundle.getString("internal.server.error");  
29 -// return Response.status(INTERNAL_SERVER_ERROR).entity(message).build();  
30 -// }  
31 -//} 1 +package br.gov.frameworkdemoiselle.internal.implementation;
  2 +
  3 +import static javax.ws.rs.core.Response.Status.INTERNAL_SERVER_ERROR;
  4 +
  5 +import java.util.ResourceBundle;
  6 +
  7 +import javax.ws.rs.core.Response;
  8 +import javax.ws.rs.ext.ExceptionMapper;
  9 +import javax.ws.rs.ext.Provider;
  10 +
  11 +import org.slf4j.Logger;
  12 +
  13 +import br.gov.frameworkdemoiselle.util.Beans;
  14 +import br.gov.frameworkdemoiselle.util.NameQualifier;
  15 +
  16 +@Provider
  17 +public class DefaultExceptionMapper implements ExceptionMapper<Throwable> {
  18 +
  19 + @Override
  20 + public Response toResponse(Throwable exception) {
  21 + ResourceBundle bundle = Beans.getReference(ResourceBundle.class, new NameQualifier("demoiselle-rest-bundle"));
  22 + Logger logger = Beans.getReference(Logger.class);
  23 +
  24 + logger.error(exception.getMessage(), exception);
  25 +
  26 + String message = bundle.getString("internal.server.error");
  27 + return Response.status(INTERNAL_SERVER_ERROR).entity(message).build();
  28 + }
  29 +}