public ConvergedHttpServletRequestFacade(HttpServletRequestImpl httpServletRequest, final ConvergedServletContextImpl servletContext){ super(httpServletRequest); this.httpServletRequest = httpServletRequest; this.originalServletContext = httpServletRequest.getServletContext(); this.servletContext = servletContext; }
public ConvergedHttpServletRequestFacade(HttpServletRequestImpl httpServletRequest, final ConvergedServletContextImpl servletContext){ this.httpServletRequest = httpServletRequest; this.originalServletContext = httpServletRequest.getServletContext(); this.servletContext = servletContext; }
@Override public void invalidate() { invalid = true; if (servletRequestContext == null) { session.invalidate(null); } else { if(servletRequestContext.getOriginalRequest().getServletContext() == servletContext) { session.invalidate(servletRequestContext.getOriginalRequest().getExchange()); } else { session.invalidate(null); } } }
} else if(!cookie.getKey().equals(servletRequest.getServletContext().getSessionCookieConfig().getName())){ headers.add(Headers.COOKIE, cookie.getKey() + "=" + cookie.getValue().getValue());
responseImpl.setServletContext((ServletContextImpl) context); Deployment deployment = requestImpl.getServletContext().getDeployment(); ServletPathMatch info = deployment.getServletPaths().getServletHandlerByPath(newServletPath); requestImpl.getExchange().getAttachment(ServletRequestContext.ATTACHMENT_KEY).setServletPathMatch(info);
Deployment deployment = requestImpl.getServletContext().getDeployment();
setFlags(FLAG_BEING_INVOKED_IN_IO_THREAD); try { request.getServletContext().invokeOnDataAvailable(request.getExchange(), listener); } finally { clearFlags(FLAG_BEING_INVOKED_IN_IO_THREAD); request.getServletContext().invokeOnAllDataRead(request.getExchange(), listener); if (allAreClear(state, FLAG_ON_DATA_READ_CALLED)) { setFlags(FLAG_ON_DATA_READ_CALLED); request.getServletContext().invokeOnAllDataRead(request.getExchange(), listener); request.getServletContext().invokeRunnable(request.getExchange(), new Runnable() { @Override public void run() {
@Override public boolean isReady() { boolean finished = anyAreSet(state, FLAG_FINISHED); if(finished) { if (anyAreClear(state, FLAG_ON_DATA_READ_CALLED)) { if(allAreClear(state, FLAG_BEING_INVOKED_IN_IO_THREAD)) { setFlags(FLAG_ON_DATA_READ_CALLED); request.getServletContext().invokeOnAllDataRead(request.getExchange(), listener); } else { setFlags(FLAG_CALL_ON_ALL_DATA_READ); } } } boolean ready = anyAreSet(state, FLAG_READY) && !finished; if(!ready && listener != null && !finished) { channel.resumeReads(); } if(ready) { setFlags(FLAG_IS_READY_CALLED); } return ready; }
DispatcherType oldDispatcherType = servletRequestContext.getDispatcherType(); ServletContextImpl oldContext = requestImpl.getServletContext(); try { requestImpl.setServletContext(servletContext);