src/main/java/de/uapcore/lightpit/modules/ErrorModule.java

changeset 53
6a8498291606
parent 46
1574965c7dc7
child 74
91d1fc2a3a14
equal deleted inserted replaced
52:67a02e79b7a1 53:6a8498291606
30 30
31 import de.uapcore.lightpit.*; 31 import de.uapcore.lightpit.*;
32 32
33 import javax.servlet.annotation.WebServlet; 33 import javax.servlet.annotation.WebServlet;
34 import javax.servlet.http.HttpServletRequest; 34 import javax.servlet.http.HttpServletRequest;
35 import javax.servlet.http.HttpServletResponse;
35 import java.util.Optional; 36 import java.util.Optional;
36 37
37 /** 38 /**
38 * Entry point for the application. 39 * Entry point for the application.
39 */ 40 */
47 name = "ErrorModule", 48 name = "ErrorModule",
48 urlPatterns = "/error/*" 49 urlPatterns = "/error/*"
49 ) 50 )
50 public final class ErrorModule extends AbstractLightPITServlet { 51 public final class ErrorModule extends AbstractLightPITServlet {
51 52
52 public static final String REQ_ATTR_ERROR_CODE = "errorCode";
53 public static final String REQ_ATTR_RETURN_LINK = "returnLink"; 53 public static final String REQ_ATTR_RETURN_LINK = "returnLink";
54 54
55 private ResponseType handle(HttpServletRequest req, int sc) { 55 @RequestMapping(requestPath = "generic", method = HttpMethod.GET)
56 56 public ResponseType onError(HttpServletRequest req, HttpServletResponse resp) {
57 req.setAttribute(REQ_ATTR_ERROR_CODE, sc);
58
59 Optional.ofNullable(req.getHeader("Referer")).ifPresent( 57 Optional.ofNullable(req.getHeader("Referer")).ifPresent(
60 referer -> req.setAttribute(REQ_ATTR_RETURN_LINK, referer) 58 referer -> req.setAttribute(REQ_ATTR_RETURN_LINK, referer)
61 ); 59 );
62 60
63 setStylesheet(req, "error"); 61 setStylesheet(req, "error");
64 setDynamicFragment(req, "error"); 62 setDynamicFragment(req, "error");
65 63
66 return ResponseType.HTML; 64 return ResponseType.HTML;
67 } 65 }
68
69 @RequestMapping(requestPath = "404.html", method = HttpMethod.GET)
70 public ResponseType handle404(HttpServletRequest req) {
71 return handle(req, 404);
72 }
73
74 @RequestMapping(requestPath = "403.html", method = HttpMethod.GET)
75 public ResponseType handle403(HttpServletRequest req) {
76 return handle(req, 403);
77 }
78
79 @RequestMapping(requestPath = "500.html", method = HttpMethod.GET)
80 public ResponseType handle500(HttpServletRequest req) {
81 return handle(req, 500);
82 }
83 } 66 }

mercurial