List of usage examples for org.springframework.web.servlet.handler HandlerInterceptorAdapter HandlerInterceptorAdapter
HandlerInterceptorAdapter
From source file:ca.weblite.contacts.webservice.RESTServiceConfiguration.java
@Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new HandlerInterceptorAdapter() { @Override//from w w w . ja v a2 s .c o m public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { System.out.println("About to handle request"); response.getWriter().write("In handler"); return super.preHandle(request, response, handler); //To change body of generated methods, choose Tools | Templates. } }); registry.addWebRequestInterceptor(new WebRequestInterceptor() { public void preHandle(WebRequest wr) throws Exception { System.out.println("About to handle web request"); } public void postHandle(WebRequest wr, ModelMap mm) throws Exception { } public void afterCompletion(WebRequest wr, Exception excptn) throws Exception { } }); super.addInterceptors(registry); //To change body of generated methods, choose Tools | Templates. }
From source file:com.cloudbees.demo.beesshop.web.WebConfig.java
@Override public void addInterceptors(InterceptorRegistry registry) { super.addInterceptors(registry); HandlerInterceptor addShoppingCartInRequestHandlerInterceptor = new HandlerInterceptorAdapter() { @Override//from w w w . ja va 2s . co m public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { ShoppingCart shoppingCart = shoppingCartRepository.getCurrentShoppingCart(request); request.setAttribute("shoppingCart", shoppingCart); } }; registry.addInterceptor(addShoppingCartInRequestHandlerInterceptor); }
From source file:alfio.config.MvcConfiguration.java
@Bean public HandlerInterceptor getEventLocaleSetterInterceptor() { return new HandlerInterceptorAdapter() { @Override// w w w. ja v a 2s .c om public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { if (handler instanceof HandlerMethod) { HandlerMethod handlerMethod = ((HandlerMethod) handler); RequestMapping reqMapping = handlerMethod.getMethodAnnotation(RequestMapping.class); //check if the request mapping value has the form "/event/{something}" Pattern eventPattern = Pattern.compile("^/event/\\{(\\w+)}/{0,1}.*"); if (reqMapping != null && reqMapping.value().length == 1 && eventPattern.matcher(reqMapping.value()[0]).matches()) { Matcher m = eventPattern.matcher(reqMapping.value()[0]); m.matches(); String pathVariableName = m.group(1); //extract the parameter name Arrays.stream(handlerMethod.getMethodParameters()) .map(methodParameter -> methodParameter.getParameterAnnotation(PathVariable.class)) .filter(Objects::nonNull).map(PathVariable::value).filter(pathVariableName::equals) .findFirst().ifPresent((val) -> { //fetch the parameter value @SuppressWarnings("unchecked") String eventName = Optional.ofNullable(((Map<String, Object>) request .getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE)) .get(val)) .orElse("").toString(); LocaleResolver resolver = RequestContextUtils.getLocaleResolver(request); Locale locale = resolver.resolveLocale(request); List<ContentLanguage> cl = i18nManager.getEventLanguages(eventName); request.setAttribute("ALFIO_EVENT_NAME", eventName); if (cl.stream().noneMatch( contentLanguage -> contentLanguage.getLanguage().equals(Optional .ofNullable(locale).orElse(Locale.ENGLISH).getLanguage()))) { //override the user locale if it's not in the one permitted by the event resolver.setLocale(request, response, cl.stream().findFirst() .map(ContentLanguage::getLocale).orElse(Locale.ENGLISH)); } else { resolver.setLocale(request, response, locale); } }); } } return true; } }; }
From source file:alfio.config.MvcConfiguration.java
@Bean public HandlerInterceptorAdapter getDefaultTemplateObjectsFiller() { return new HandlerInterceptorAdapter() { @Override/* ww w . ja va 2 s . c o m*/ public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { Optional.ofNullable(modelAndView) .filter(mv -> !StringUtils.startsWith(mv.getViewName(), "redirect:")).ifPresent(mv -> { mv.addObject("request", request); final ModelMap modelMap = mv.getModelMap(); boolean demoModeEnabled = environment.acceptsProfiles(Initializer.PROFILE_DEMO); modelMap.put("demoModeEnabled", demoModeEnabled); Optional.ofNullable(request.getAttribute("ALFIO_EVENT_NAME")).map(Object::toString) .ifPresent(eventName -> { List<?> availableLanguages = i18nManager.getEventLanguages(eventName); modelMap.put("showAvailableLanguagesInPageTop", availableLanguages.size() > 1); modelMap.put("availableLanguages", availableLanguages); }); modelMap.putIfAbsent("event", null); modelMap.putIfAbsent("pageTitle", "empty"); Event event = modelMap.get("event") == null ? null : modelMap.get("event") instanceof Event ? (Event) modelMap.get("event") : ((EventDescriptor) modelMap.get("event")).getEvent(); ConfigurationPathKey googleAnalyticsKey = Optional.ofNullable(event) .map(e -> alfio.model.system.Configuration.from(e.getOrganizationId(), e.getId(), GOOGLE_ANALYTICS_KEY)) .orElseGet(() -> alfio.model.system.Configuration .getSystemConfiguration(GOOGLE_ANALYTICS_KEY)); modelMap.putIfAbsent("analyticsEnabled", StringUtils .isNotBlank(configurationManager.getStringConfigValue(googleAnalyticsKey, ""))); if (demoModeEnabled) { modelMap.putIfAbsent("paypalTestUsername", configurationManager.getStringConfigValue(alfio.model.system.Configuration .getSystemConfiguration(PAYPAL_DEMO_MODE_USERNAME), "<missing>")); modelMap.putIfAbsent("paypalTestPassword", configurationManager.getStringConfigValue(alfio.model.system.Configuration .getSystemConfiguration(PAYPAL_DEMO_MODE_PASSWORD), "<missing>")); } }); } }; }
From source file:alfio.config.MvcConfiguration.java
private HandlerInterceptor getCSPInterceptor() { return new HandlerInterceptorAdapter() { @Override//from www. j a v a2 s . co m public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { // http://www.html5rocks.com/en/tutorials/security/content-security-policy/ // lockdown policy response.addHeader("Content-Security-Policy", "default-src 'none'; "//block all by default + " script-src 'self' https://js.stripe.com/ https://api.stripe.com/ https://ssl.google-analytics.com/ https://www.google.com/recaptcha/api.js https://www.gstatic.com/recaptcha/api2/ https://maps.googleapis.com/;"// + " style-src 'self' 'unsafe-inline';" // unsafe-inline for style is acceptable... + " img-src 'self' https: data:;"// + " child-src 'self';"//webworker + " frame-src 'self' https://js.stripe.com https://www.google.com;" + " font-src 'self';"// + " media-src blob: 'self';"//for loading camera api + " connect-src 'self' https://api.stripe.com https://maps.googleapis.com/ https://geocoder.cit.api.here.com;" //<- currently stripe.js use jsonp but if they switch to xmlhttprequest+cors we will be ready + (environment.acceptsProfiles(Initializer.PROFILE_DEBUG_CSP) ? " report-uri /report-csp-violation" : "")); } }; }
From source file:alfio.config.MvcConfiguration.java
@Bean public HandlerInterceptor getCsrfInterceptor() { return new HandlerInterceptorAdapter() { @Override//from w ww . jav a 2 s . com public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { Optional.ofNullable(modelAndView).ifPresent(mv -> mv.addObject(WebSecurityConfig.CSRF_PARAM_NAME, request.getAttribute(CsrfToken.class.getName()))); } }; }