/** * Returns the servlet request to be used in any servlets invoked after this. */ @Override public HttpServletRequest invokeRequestFilterChain(RequestFilter requestFilterChain, URI uri, HttpServletRequest httpRequest, ResponseHandler responseHandler) { SecurityRequestFilterChain securityChain = cast(SecurityRequestFilterChain.class, requestFilterChain). orElseThrow(SecurityFilterInvoker::newUnsupportedOperationException); ServletRequest wrappedRequest = new ServletRequest(httpRequest, uri); securityChain.filter(new ServletFilterRequest(wrappedRequest), responseHandler); return wrappedRequest; }
@Override public void invokeResponseFilterChain( ResponseFilter responseFilterChain, URI uri, HttpServletRequest request, HttpServletResponse response) { SecurityResponseFilterChain securityChain = cast(SecurityResponseFilterChain.class, responseFilterChain). orElseThrow(SecurityFilterInvoker::newUnsupportedOperationException); ServletFilterResponse wrappedResponse = new ServletFilterResponse(new ServletResponse(response)); securityChain.filter(new ServletRequestView(uri, request), wrappedResponse); }