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

changeset 46
1574965c7dc7
parent 45
cc7f082c5ef3
child 53
6a8498291606
equal deleted inserted replaced
45:cc7f082c5ef3 46:1574965c7dc7
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 java.util.Optional;
35 36
36 /** 37 /**
37 * Entry point for the application. 38 * Entry point for the application.
38 */ 39 */
39 @LightPITModule( 40 @LightPITModule(
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 }

mercurial