_expired=false; _responseWrapped=false; _event=new AsyncEventState(_channel.getRequest().getServletContext(),_channel.getRequest(),_channel.getResponse()); _state=State.ASYNCSTARTED; List<AsyncListener> listeners=_lastAsyncListeners;
_event.getSuppliedRequest().setAttribute(RequestDispatcher.ERROR_EXCEPTION,_event._cause); _event.getSuppliedRequest().setAttribute(RequestDispatcher.ERROR_MESSAGE,_event._cause.getMessage()); listener.onError(_event);
_expired=false; _responseWrapped=false; _event=new AsyncEventState(_channel.getRequest().getServletContext(),_channel.getRequest(),_channel.getResponse()); _state=State.ASYNCSTARTED; List<AsyncListener> listeners=_lastAsyncListeners;
_expired=false; _responseWrapped=response!=_channel.getResponse(); _event=new AsyncEventState(context,request,response); _event._pathInContext = (request instanceof HttpServletRequest)?URIUtil.addPaths(((HttpServletRequest)request).getServletPath(),((HttpServletRequest)request).getPathInfo()):null; _state=State.ASYNCSTARTED;
_expired=false; _responseWrapped=response!=_channel.getResponse(); _event=new AsyncEventState(context,request,response); _event._pathInContext = (request instanceof HttpServletRequest)?URIUtil.addPaths(((HttpServletRequest)request).getServletPath(),((HttpServletRequest)request).getPathInfo()):null; _state=State.ASYNCSTARTED;
public void handleAsync(HttpChannel<?> connection) throws IOException, ServletException { final HttpChannelState async = connection.getRequest().getHttpChannelState(); final HttpChannelState.AsyncEventState state = async.getAsyncEventState(); final Request baseRequest=connection.getRequest(); final String path=state.getPath(); if (path!=null) { // this is a dispatch with a path ServletContext context=state.getServletContext(); HttpURI uri = new HttpURI(context==null?path:URIUtil.addPaths(context.getContextPath(),path)); baseRequest.setUri(uri); baseRequest.setRequestURI(null); baseRequest.setPathInfo(baseRequest.getRequestURI()); if (uri.getQuery()!=null) baseRequest.mergeQueryString(uri.getQuery()); //we have to assume dispatch path and query are UTF8 } final String target=baseRequest.getPathInfo(); final HttpServletRequest request=(HttpServletRequest)async.getRequest(); final HttpServletResponse response=(HttpServletResponse)async.getResponse(); if (LOG.isDebugEnabled()) { LOG.debug("REQUEST "+target+" on "+connection); handle(target, baseRequest, request, response); LOG.debug("RESPONSE "+target+" "+connection.getResponse().getStatus()); } else handle(target, baseRequest, request, response); }
_event.getSuppliedRequest().setAttribute(RequestDispatcher.ERROR_EXCEPTION,_event._cause); _event.getSuppliedRequest().setAttribute(RequestDispatcher.ERROR_MESSAGE,_event._cause.getMessage()); listener.onError(_event);
public void handleAsync(HttpChannel<?> connection) throws IOException, ServletException { final HttpChannelState async = connection.getRequest().getHttpChannelState(); final HttpChannelState.AsyncEventState state = async.getAsyncEventState(); final Request baseRequest=connection.getRequest(); final String path=state.getPath(); if (path!=null) { // this is a dispatch with a path ServletContext context=state.getServletContext(); HttpURI uri = new HttpURI(context==null?path:URIUtil.addPaths(context.getContextPath(),path)); baseRequest.setUri(uri); baseRequest.setRequestURI(null); baseRequest.setPathInfo(baseRequest.getRequestURI()); if (uri.getQuery()!=null) baseRequest.mergeQueryString(uri.getQuery()); //we have to assume dispatch path and query are UTF8 } final String target=baseRequest.getPathInfo(); final HttpServletRequest request=(HttpServletRequest)async.getRequest(); final HttpServletResponse response=(HttpServletResponse)async.getResponse(); if (LOG.isDebugEnabled()) { LOG.debug("REQUEST "+target+" on "+connection); handle(target, baseRequest, request, response); LOG.debug("RESPONSE "+target+" "+connection.getResponse().getStatus()); } else handle(target, baseRequest, request, response); }
public ContextHandler getContextHandler() { final AsyncEventState event=_event; if (event!=null) return ((Context)event.getServletContext()).getContextHandler(); return null; }
public ContextHandler getContextHandler() { final AsyncEventState event=_event; if (event!=null) return ((Context)event.getServletContext()).getContextHandler(); return null; }
@Override public void run() { ((Context)event.getServletContext()).getContextHandler().handle(run); } });
@Override public ServletRequest getRequest() { if (_event!=null) return _event.getSuppliedRequest(); return _channel.getRequest(); }
@Override public ServletRequest getRequest() { if (_event!=null) return _event.getSuppliedRequest(); return _channel.getRequest(); }
public ServletResponse getServletResponse() { if (_responseWrapped && _event!=null && _event.getSuppliedResponse()!=null) return _event.getSuppliedResponse(); return _channel.getResponse(); }
@Override public void run() { ((Context)event.getServletContext()).getContextHandler().handle(run); } });
@Override public boolean hasOriginalRequestAndResponse() { synchronized (this) { return (_event!=null && _event.getSuppliedRequest()==_channel.getRequest() && _event.getSuppliedResponse()==_channel.getResponse()); } }
@Override public ServletResponse getResponse() { if (_responseWrapped && _event!=null && _event.getSuppliedResponse()!=null) return _event.getSuppliedResponse(); return _channel.getResponse(); }
public ServletResponse getServletResponse() { if (_responseWrapped && _event!=null && _event.getSuppliedResponse()!=null) return _event.getSuppliedResponse(); return _channel.getResponse(); }
@Override public ServletResponse getResponse() { if (_responseWrapped && _event!=null && _event.getSuppliedResponse()!=null) return _event.getSuppliedResponse(); return _channel.getResponse(); }
@Override public boolean hasOriginalRequestAndResponse() { synchronized (this) { return (_event!=null && _event.getSuppliedRequest()==_channel.getRequest() && _event.getSuppliedResponse()==_channel.getResponse()); } }