/** * {@inheritDoc} */ @Override public HttpSession getSession() { if (request == null) { throw new IllegalStateException("Null request object"); } return getSession(true); }
public void initialize() throws IOException { this.inputStream = servletRequest.getRequest().createInputStream(); }
public static HttpServletRequestImpl create() { final HttpServletRequestImpl request = ThreadCache.takeFromCache(CACHE_IDX); if (request != null) { return request; } return new HttpServletRequestImpl(); }
&& !isAsyncComplete && isAsyncStarted()) { servletResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); setAttribute(RequestDispatcher.ERROR_EXCEPTION, t); if (!isAsyncComplete && isAsyncStarted()) { asyncComplete();
@Override public void run() { asyncContext.isStartAsyncInScope.set(Boolean.TRUE); origRequest.setAttribute(Globals.DISPATCHER_TYPE_ATTR, DispatcherType.ASYNC); origRequest.setAsyncStarted(false); int startAsyncCurrent = asyncContext.startAsyncCounter.get(); try { } else { origRequest.setAsyncTimeout(asyncContext.getTimeout()); asyncContext.getOriginalRequest().errorDispatchAndComplete(t); } finally { asyncContext.isStartAsyncInScope.set(Boolean.FALSE);
final HttpServletRequestImpl servletRequest = HttpServletRequestImpl.create(); final HttpServletResponseImpl servletResponse = HttpServletResponseImpl.create(); servletRequest.initialize(request, servletResponse, servletCtx); servletResponse.initialize(response, servletRequest); servletRequest.onAfterService(); } catch (Throwable ex) { LOGGER.log(Level.SEVERE, "service exception:", ex);
protected void setPathData(final Request from, final HttpServletRequestImpl to) { final MappingData data = from.obtainMappingData(); to.setServletPath(data.wrapperPath.toString()); to.setPathInfo(data.pathInfo.toString()); to.setContextPath(data.contextPath.toString()); }
String servletPath = (String)getAttribute( DispatcherConstants.INCLUDE_SERVLET_PATH ); if( servletPath == null ) { servletPath = getServletPath(); String pathInfo = getPathInfo(); String requestPath;
HttpServletRequestImpl req = HttpServletRequestImpl.create(); req.initialize(request, res, new WebappContext(uri.getPath(), uri.getPath())); res.initialize(response, req); req.setServletPath(data.wrapperPath.toString()); Method m = req.getClass().getDeclaredMethod("setPathInfo", new Class[]{String.class}); m.setAccessible(true);
/** * Checks authentication. * <p/> * Calls {@link HttpContext#handleSecurity} to authenticate. * * @param request Request to authenticate. * @param response Response to populate if authentication not performed but needed. * @param servletContext Context needed for proper HttpServletRequest creation. * @return <code>true</code> if authenticated and can proceed with processing, else <code>false</code>. * @throws IOException Propagate exception thrown by {@link HttpContext#handleSecurity}. */ private boolean authenticate(Request request, Response response, OSGiServletContext servletContext) throws IOException { HttpServletRequestImpl servletRequest = new OSGiHttpServletRequest(servletContext); HttpServletResponseImpl servletResponse = HttpServletResponseImpl.create(); servletResponse.initialize(response, servletRequest); servletRequest.initialize(request, servletResponse, servletContext); return httpContext.handleSecurity(servletRequest, servletResponse); }
@Override public void close() throws Exception { // Make sure we run close logic only once if (isClosed.compareAndSet(false, true)) { final Request grizzlyRequest = request.getRequest(); HttpUpgradeHandler httpUpgradeHandler = request.getHttpUpgradeHandler(); try { httpUpgradeHandler.destroy(); } finally { try { inputStream.close(); } catch(Exception ignored) { } try { outputStream.close(); } catch(Exception ignored) { } grizzlyRequest.getResponse().resume(); } } } }
/** * {@inheritDoc} */ @Override public DispatcherType getDispatcherType() { DispatcherType dispatcher = (DispatcherType) getAttribute( Globals.DISPATCHER_TYPE_ATTR); if (dispatcher == null) { dispatcher = DispatcherType.REQUEST; } return dispatcher; }
void asyncTimeout() { if (asyncContext != null) { asyncContext.notifyAsyncListeners( AsyncContextImpl.AsyncEventType.TIMEOUT, null); } errorDispatchAndComplete(null); }
private boolean processTimeout() { boolean result; final AsyncContextImpl asyncContextLocal = this.asyncContext; try { asyncTimeout(); } finally { result = asyncContextLocal != null && !asyncContextLocal.getAndResetDispatchInScope(); } return result; }
@Override public void complete() { origRequest.asyncComplete(); }
@Override public void run() { asyncContext.isStartAsyncInScope.set(Boolean.TRUE); origRequest.setAttribute(Globals.DISPATCHER_TYPE_ATTR, DispatcherType.ASYNC); origRequest.setAsyncStarted(false); int startAsyncCurrent = asyncContext.startAsyncCounter.get(); try { } else { origRequest.setAsyncTimeout(asyncContext.getTimeout()); asyncContext.getOriginalRequest().errorDispatchAndComplete(t); } finally { asyncContext.isStartAsyncInScope.set(Boolean.FALSE);
final HttpServletRequestImpl servletRequest = HttpServletRequestImpl.create(); final HttpServletResponseImpl servletResponse = HttpServletResponseImpl.create(); servletRequest.initialize(request, servletResponse, servletCtx); servletResponse.initialize(response, servletRequest); servletRequest.onAfterService(); } catch (Throwable ex) { LOGGER.log(Level.SEVERE, "service exception:", ex);
protected void setPathData(final Request from, final HttpServletRequestImpl to) { final MappingData data = from.obtainMappingData(); to.setServletPath(data.wrapperPath.toString()); to.setPathInfo(data.pathInfo.toString()); to.setContextPath(data.contextPath.toString()); }
String servletPath = (String)getAttribute( DispatcherConstants.INCLUDE_SERVLET_PATH ); if( servletPath == null ) { servletPath = getServletPath(); String pathInfo = getPathInfo(); String requestPath;
&& !isAsyncComplete && isAsyncStarted()) { servletResponse.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); setAttribute(RequestDispatcher.ERROR_EXCEPTION, t); if (!isAsyncComplete && isAsyncStarted()) { asyncComplete();