ResponseWriter(final Request request, final Response response, final boolean configSetStatusOverSendError) { this.response = response; this.continuation = ContinuationSupport.getContinuation(request); this.configSetStatusOverSendError = configSetStatusOverSendError; }
@Override public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { metrics.getRequestsMeter().mark(); if (!target.equals(s3Configuration.getLocalDownloadPath())) { metrics.getClientErrorsMeter().mark(); response.sendError(404); return; } if (!request.getMethod().equalsIgnoreCase(HttpMethod.POST.name())) { metrics.getClientErrorsMeter().mark(); response.sendError(405); return; } Optional<ArtifactDownloadRequest> artifactOptional = readDownloadRequest(request); if (!artifactOptional.isPresent()) { metrics.getClientErrorsMeter().mark(); response.sendError(400); return; } Continuation continuation = ContinuationSupport.getContinuation(request); continuation.suspend(response); if (artifactOptional.get().getTimeoutMillis().isPresent()) { continuation.setTimeout(artifactOptional.get().getTimeoutMillis().get()); } downloaderCoordinator.register(continuation, artifactOptional.get()); }
final Continuation cont = ContinuationSupport.getContinuation(httpServletRequest);
/** * @param request the servlet request * @param response the servlet response * @deprecated use {@link #getContinuation(ServletRequest)} * @return the continuation */ @Deprecated public static Continuation getContinuation(final ServletRequest request, final ServletResponse response) { return getContinuation(request); } }
/** * @param request the servlet request * @param response the servlet response * @deprecated use {@link #getContinuation(ServletRequest)} * @return the continuation */ @Deprecated public static Continuation getContinuation(final ServletRequest request, final ServletResponse response) { return getContinuation(request); } }
/** * @param request the servlet request * @param response the servlet response * @deprecated use {@link #getContinuation(ServletRequest)} * @return the continuation */ @Deprecated public static Continuation getContinuation(final ServletRequest request, final ServletResponse response) { return getContinuation(request); } }
/** * @param request the servlet request * @param response the servlet response * @deprecated use {@link #getContinuation(ServletRequest)} * @return the continuation */ @Deprecated public static Continuation getContinuation(final ServletRequest request, final ServletResponse response) { return getContinuation(request); } }
/** * @param request the servlet request * @param response the servlet response * @deprecated use {@link #getContinuation(ServletRequest)} * @return the continuation */ @Deprecated public static Continuation getContinuation(final ServletRequest request, final ServletResponse response) { return getContinuation(request); } }
/** * @param request the servlet request * @param response the servlet response * @deprecated use {@link #getContinuation(ServletRequest)} * @return the continuation */ @Deprecated public static Continuation getContinuation(final ServletRequest request, final ServletResponse response) { return getContinuation(request); } }
/** * @param request the servlet request * @param response the servlet response * @deprecated use {@link #getContinuation(ServletRequest)} * @return the continuation */ @Deprecated public static Continuation getContinuation(final ServletRequest request, final ServletResponse response) { return getContinuation(request); } }
/** * @param request the servlet request * @param response the servlet response * @deprecated use {@link #getContinuation(ServletRequest)} * @return the continuation */ @Deprecated public static Continuation getContinuation(final ServletRequest request, final ServletResponse response) { return getContinuation(request); } }
private void executeContinuation(final String target, final Request baseRequest, final HttpServletRequest request, final HttpServletResponse response) { final Continuation continuation = ContinuationSupport.getContinuation(baseRequest); continuation.suspend(); if (continuationTimeoutMillis > 0) { continuation.setTimeout(continuationTimeoutMillis); } executor.execute(new Runnable() { @Override public void run() { try { process(target, baseRequest, request, response); } catch (final Exception e) { log.error("Request failed", e); } finally { continuation.complete(); } } }); }
public JettyContinuationWrapper(HttpServletRequest request, HttpServletResponse resp, Message m) { continuation = ContinuationSupport.getContinuation(request); message = m; isNew = request.getAttribute(AbstractHTTPDestination.CXF_CONTINUATION_MESSAGE) == null; if (isNew) { request.setAttribute(AbstractHTTPDestination.CXF_CONTINUATION_MESSAGE, message.getExchange().getInMessage()); continuation.addContinuationListener(this); callback = message.getExchange().get(ContinuationCallback.class); } }
protected Continuation getContinuation(AtmosphereRequest req) { Continuation falseContinuation = (Continuation) req.getAttribute(Continuation.ATTRIBUTE); req.setAttribute(Continuation.ATTRIBUTE, null); Continuation c = ContinuationSupport.getContinuation(req); req.setAttribute(Continuation.ATTRIBUTE, falseContinuation); return c; }
/** * {@inheritDoc} */ public void action(AtmosphereEventImpl actionEvent) { if (actionEvent.action().type == Action.TYPE.RESUME){ Continuation c = ContinuationSupport.getContinuation(actionEvent.getRequest()); c.complete(); } } }
public JettyContinuationWrapper(HttpServletRequest request, HttpServletResponse resp, Message m) { continuation = ContinuationSupport.getContinuation(request); message = m; isNew = request.getAttribute(AbstractHTTPDestination.CXF_CONTINUATION_MESSAGE) == null; if (isNew) { request.setAttribute(AbstractHTTPDestination.CXF_CONTINUATION_MESSAGE, message.getExchange().getInMessage()); continuation.addContinuationListener(this); callback = message.getExchange().get(ContinuationCallback.class); } }
public JettyContinuationWrapper(HttpServletRequest request, HttpServletResponse resp, Message m) { continuation = ContinuationSupport.getContinuation(request); message = m; isNew = request.getAttribute(AbstractHTTPDestination.CXF_CONTINUATION_MESSAGE) == null; if (isNew) { request.setAttribute(AbstractHTTPDestination.CXF_CONTINUATION_MESSAGE, message.getExchange().getInMessage()); continuation.addContinuationListener(this); callback = message.getExchange().get(ContinuationCallback.class); } }
Continuation continuation = ContinuationSupport.getContinuation(request); if (_suspendMs>0) continuation.setTimeout(_suspendMs);
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Enumeration<String> acceptValues = request.getHeaders("Accept"); while (acceptValues.hasMoreElements()) { String accept = acceptValues.nextElement(); if (accept.equals("text/event-stream")) { EventSource eventSource = newEventSource(request); if (eventSource == null) { response.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE); } else { respond(request, response); Continuation continuation = ContinuationSupport.getContinuation(request); // Infinite timeout because the continuation is never resumed, // but only completed on close continuation.setTimeout(0L); continuation.suspend(response); EventSourceEmitter emitter = new EventSourceEmitter(eventSource, continuation); emitter.scheduleHeartBeat(); open(eventSource, emitter); } return; } } super.doGet(request, response); }
private static final Continuation suspendRequest(final Logger logger, final HttpServletRequest httpRequest, final HttpServletResponse httpResponse, final long timeout) { final Continuation continuation = ContinuationSupport.getContinuation(httpRequest); continuation.setTimeout(timeout); continuation.addContinuationListener(new ContinuationListener() { @Override public void onTimeout(final Continuation continuation) { final HttpServletResponse httpResponse = (HttpServletResponse) continuation.getServletResponse(); HTTPHelper.sendHTTPErrorResponse(logger, httpResponse, HttpStatus.GATEWAY_TIMEOUT_504, "Timeout"); continuation.complete(); } @Override public void onComplete(final Continuation continuation) { } }); continuation.suspend(httpResponse); return continuation; } }