47 urlPatterns = "/error/*" |
48 urlPatterns = "/error/*" |
48 ) |
49 ) |
49 public final class ErrorModule extends AbstractLightPITServlet { |
50 public final class ErrorModule extends AbstractLightPITServlet { |
50 |
51 |
51 public static final String REQ_ATTR_ERROR_CODE = "errorCode"; |
52 public static final String REQ_ATTR_ERROR_CODE = "errorCode"; |
|
53 public static final String REQ_ATTR_RETURN_LINK = "returnLink"; |
52 |
54 |
53 private ResponseType handle(HttpServletRequest req, int sc) { |
55 private ResponseType handle(HttpServletRequest req, int sc) { |
54 |
56 |
55 req.setAttribute(REQ_ATTR_ERROR_CODE, sc); |
57 req.setAttribute(REQ_ATTR_ERROR_CODE, sc); |
|
58 |
|
59 Optional.ofNullable(req.getHeader("Referer")).ifPresent( |
|
60 referer -> req.setAttribute(REQ_ATTR_RETURN_LINK, referer) |
|
61 ); |
|
62 |
56 setStylesheet(req, "error"); |
63 setStylesheet(req, "error"); |
57 setDynamicFragment(req, "error"); |
64 setDynamicFragment(req, "error"); |
58 |
65 |
59 return ResponseType.HTML; |
66 return ResponseType.HTML; |
60 } |
67 } |