@Override public void init(FilterConfig filterConfig) throws ServletException { final ServletContext servletContext = filterConfig.getServletContext(); // Store servlet context in a weakreference, for injection GuiceFilter.servletContext = new WeakReference<>(servletContext); // In the default pipeline, this is a noop. However, if replaced // by a managed pipeline, a lazy init will be triggered the first time // dispatch occurs. FilterPipeline filterPipeline = getFilterPipeline(); filterPipeline.initPipeline(servletContext); }
@Override public void destroy() { try { // Destroy all registered filters & servlets in that order FilterPipeline filterPipeline = getFilterPipeline(); filterPipeline.destroyPipeline(); } finally { reset(); servletContext.clear(); } }
@Override public void doFilter( final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException { final FilterPipeline filterPipeline = getFilterPipeline(); Context previous = GuiceFilter.localContext.get(); HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; HttpServletRequest originalRequest = (previous != null) ? previous.getOriginalRequest() : request; try { RequestScoper.CloseableScope scope = new Context(originalRequest, request, response).open(); try { //dispatch across the servlet pipeline, ensuring web.xml's filterchain is honored filterPipeline.dispatch(servletRequest, servletResponse, filterChain); } finally { scope.close(); } } catch (IOException e) { throw e; } catch (ServletException e) { throw e; } catch (Exception e) { Throwables.propagate(e); } }
@Override public void init(FilterConfig filterConfig) throws ServletException { final ServletContext servletContext = filterConfig.getServletContext(); // Store servlet context in a weakreference, for injection GuiceFilter.servletContext = new WeakReference<>(servletContext); // In the default pipeline, this is a noop. However, if replaced // by a managed pipeline, a lazy init will be triggered the first time // dispatch occurs. FilterPipeline filterPipeline = getFilterPipeline(); filterPipeline.initPipeline(servletContext); }
@Override public void init(FilterConfig filterConfig) throws ServletException { final ServletContext servletContext = filterConfig.getServletContext(); // Store servlet context in a weakreference, for injection GuiceFilter.servletContext = new WeakReference<>(servletContext); // In the default pipeline, this is a noop. However, if replaced // by a managed pipeline, a lazy init will be triggered the first time // dispatch occurs. FilterPipeline filterPipeline = getFilterPipeline(); filterPipeline.initPipeline(servletContext); }
@Override public void destroy() { try { // Destroy all registered filters & servlets in that order FilterPipeline filterPipeline = getFilterPipeline(); filterPipeline.destroyPipeline(); } finally { reset(); servletContext.clear(); } }
@Override public void destroy() { try { // Destroy all registered filters & servlets in that order FilterPipeline filterPipeline = getFilterPipeline(); filterPipeline.destroyPipeline(); } finally { reset(); servletContext.clear(); } }
@Override public void doFilter( final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException { final FilterPipeline filterPipeline = getFilterPipeline(); Context previous = GuiceFilter.localContext.get(); HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; HttpServletRequest originalRequest = (previous != null) ? previous.getOriginalRequest() : request; try { RequestScoper.CloseableScope scope = new Context(originalRequest, request, response).open(); try { //dispatch across the servlet pipeline, ensuring web.xml's filterchain is honored filterPipeline.dispatch(servletRequest, servletResponse, filterChain); } finally { scope.close(); } } catch (IOException e) { throw e; } catch (ServletException e) { throw e; } catch (Exception e) { Throwables.propagate(e); } }
@Override public void doFilter( final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException { final FilterPipeline filterPipeline = getFilterPipeline(); Context previous = GuiceFilter.localContext.get(); HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; HttpServletRequest originalRequest = (previous != null) ? previous.getOriginalRequest() : request; try { RequestScoper.CloseableScope scope = new Context(originalRequest, request, response).open(); try { //dispatch across the servlet pipeline, ensuring web.xml's filterchain is honored filterPipeline.dispatch(servletRequest, servletResponse, filterChain); } finally { scope.close(); } } catch (IOException e) { throw e; } catch (ServletException e) { throw e; } catch (Exception e) { Throwables.propagate(e); } }