Java Code Examples for javax.servlet.http.HttpServletRequest#startAsync()
The following examples show how to use
javax.servlet.http.HttpServletRequest#startAsync() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: WebLogicRequestUpgradeStrategy.java From spring-analysis-note with MIT License | 8 votes |
@Override protected void handleSuccess(HttpServletRequest request, HttpServletResponse response, UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException { response.setStatus(upgradeResponse.getStatus()); upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value))); AsyncContext asyncContext = request.startAsync(); asyncContext.setTimeout(-1L); Object nativeRequest = getNativeRequest(request); BeanWrapper beanWrapper = new BeanWrapperImpl(nativeRequest); Object httpSocket = beanWrapper.getPropertyValue("connection.connectionHandler.rawConnection"); Object webSocket = webSocketHelper.newInstance(request, httpSocket); webSocketHelper.upgrade(webSocket, httpSocket, request.getServletContext()); response.flushBuffer(); boolean isProtected = request.getUserPrincipal() != null; Writer servletWriter = servletWriterHelper.newInstance(webSocket, isProtected); Connection connection = upgradeInfo.createConnection(servletWriter, noOpCloseListener); new BeanWrapperImpl(webSocket).setPropertyValue("connection", connection); new BeanWrapperImpl(servletWriter).setPropertyValue("connection", connection); webSocketHelper.registerForReadEvent(webSocket); }
Example 2
Source File: TestAsyncContextImpl.java From Tomcat8-Source-Read with MIT License | 6 votes |
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { final AsyncContext asyncContext = request.startAsync(request, response); asyncContext.addListener(new TrackingListener(false, false, null)); asyncContext.start(new Runnable() { @Override public void run() { try { Thread.sleep(THREAD_SLEEP_TIME); TestAsyncContextImpl.track("Runnable-"); asyncContext.complete(); } catch (Exception e) { e.printStackTrace(); } } }); }
Example 3
Source File: ByteCounter.java From Tomcat8-Source-Read with MIT License | 6 votes |
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/plain"); resp.setCharacterEncoding("UTF-8"); // Non-blocking IO requires async AsyncContext ac = req.startAsync(); // Use a single listener for read and write. Listeners often need to // share state to coordinate reads and writes and this is much easier as // a single object. @SuppressWarnings("unused") CounterListener listener = new CounterListener( ac, req.getInputStream(), resp.getOutputStream()); }
Example 4
Source File: ByteCounter.java From Tomcat8-Source-Read with MIT License | 6 votes |
@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/plain"); resp.setCharacterEncoding("UTF-8"); // Non-blocking IO requires async AsyncContext ac = req.startAsync(); // Use a single listener for read and write. Listeners often need to // share state to coordinate reads and writes and this is much easier as // a single object. @SuppressWarnings("unused") CounterListener listener = new CounterListener( ac, req.getInputStream(), resp.getOutputStream()); }
Example 5
Source File: NumberWriter.java From Tomcat8-Source-Read with MIT License | 6 votes |
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/plain"); resp.setCharacterEncoding("UTF-8"); // Non-blocking IO requires async AsyncContext ac = req.startAsync(); // Use a single listener for read and write. Listeners often need to // share state to coordinate reads and writes and this is much easier as // a single object. @SuppressWarnings("unused") NumberWriterListener listener = new NumberWriterListener( ac, req.getInputStream(), resp.getOutputStream()); }
Example 6
Source File: HttpRequestDispatch.java From vespa with Apache License 2.0 | 6 votes |
public HttpRequestDispatch(JDiscContext jDiscContext, AccessLogEntry accessLogEntry, Context metricContext, HttpServletRequest servletRequest, HttpServletResponse servletResponse) throws IOException { this.jDiscContext = jDiscContext; requestHandler = newRequestHandler(jDiscContext, accessLogEntry, servletRequest); this.jettyRequest = (Request) servletRequest; this.metricReporter = new MetricReporter(jDiscContext.metric, metricContext, jettyRequest.getTimeStamp()); this.servletResponseController = new ServletResponseController( servletRequest, servletResponse, jDiscContext.janitor, metricReporter, jDiscContext.developerMode()); markConnectionAsNonPersistentIfThresholdReached(servletRequest); this.async = servletRequest.startAsync(); async.setTimeout(0); metricReporter.uriLength(jettyRequest.getOriginalURI().length()); }
Example 7
Source File: TestAsyncContextImpl.java From tomcatsrc with Apache License 2.0 | 6 votes |
@Override protected void doGet(HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { final AsyncContext ctx = req.startAsync(); ctx.start(new Runnable() { @Override public void run() { try { Thread.sleep(THREAD_SLEEP_TIME); resp.setHeader("A", "xyz"); resp.setContentType("text/plain"); resp.setContentLength("OK".getBytes().length); resp.getWriter().print("OK"); ctx.complete(); } catch (Exception e) { e.printStackTrace(); } } }); }
Example 8
Source File: ProxyServlet.java From logbook-kai with MIT License | 6 votes |
@Override protected void service(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException { URI rewrittenURI = this.rewriteURI(request); if (this._isDebugEnabled) { StringBuffer uri = request.getRequestURL(); if (request.getQueryString() != null) uri.append("?").append(request.getQueryString()); this._log.debug("{} rewriting: {} -> {}", getRequestId(request), uri, rewrittenURI); } if (rewrittenURI == null) { response.sendError(HttpServletResponse.SC_FORBIDDEN); return; } AsyncContext asyncContext = request.startAsync(); // We do not timeout the continuation, but the proxy request asyncContext.setTimeout(0); request.setAttribute(ASYNC_CONTEXT, asyncContext); ProxyRequestHandler proxyRequestHandler = new ProxyRequestHandler(request, response, rewrittenURI); proxyRequestHandler.send(); }
Example 9
Source File: TestNonBlockingAPI.java From Tomcat8-Source-Read with MIT License | 6 votes |
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { boolean notify = Boolean.parseBoolean(request.getParameter("notify")); AsyncContext ctx = request.startAsync(); ctx.setTimeout(1000); if (!notify) { emitters.add(new Emitter(ctx)); latch.countDown(); } else { for (Emitter e : emitters) { e.emit(); } response.getOutputStream().println("OK"); response.getOutputStream().flush(); ctx.complete(); } }
Example 10
Source File: ServletServerHttpAsyncRequestControl.java From java-technology-stack with MIT License | 6 votes |
@Override public void start(long timeout) { Assert.state(!isCompleted(), "Async processing has already completed"); if (isStarted()) { return; } HttpServletRequest servletRequest = this.request.getServletRequest(); HttpServletResponse servletResponse = this.response.getServletResponse(); this.asyncContext = servletRequest.startAsync(servletRequest, servletResponse); this.asyncContext.addListener(this); if (timeout != NO_TIMEOUT_VALUE) { this.asyncContext.setTimeout(timeout); } }
Example 11
Source File: SampleResource.java From wingtips with Apache License 2.0 | 6 votes |
protected void doGetInternal(HttpServletRequest request, HttpServletResponse response) { logger.info("Async endpoint hit"); AsyncContext asyncContext = request.startAsync(request, response); executor.execute(runnableWithTracing(() -> { try { logger.info("Async endpoint async logic"); sleepThread(SLEEP_TIME_MILLIS); asyncContext.getResponse().getWriter().print(ASYNC_RESULT); asyncContext.complete(); } catch (IOException e) { throw new RuntimeException(e); } })); }
Example 12
Source File: TestHttp11Processor.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { if (bug55772IsSecondRequest) { Cookie[] cookies = req.getCookies(); if (cookies != null && cookies.length > 0) { for (Cookie cookie : req.getCookies()) { if (cookie.getName().equalsIgnoreCase("something.that.should.not.leak")) { bug55772RequestStateLeaked = true; } } } bug55772Latch3.countDown(); } else { req.getCookies(); // We have to do this so Tomcat will actually parse the cookies from the request } req.setAttribute("org.apache.catalina.ASYNC_SUPPORTED", Boolean.TRUE); AsyncContext asyncContext = req.startAsync(); asyncContext.setTimeout(5000); bug55772Latch1.countDown(); PrintWriter writer = asyncContext.getResponse().getWriter(); writer.print('\n'); writer.flush(); bug55772Latch2.countDown(); }
Example 13
Source File: TestAsyncContextImpl.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { TestAsyncContextImpl.track("DispatchingServletGet-"); resp.flushBuffer(); final boolean first = TrackingServlet.first; TrackingServlet.first = false; final AsyncContext ctxt = req.startAsync(); TrackingListener listener = new TrackingListener(false, true, null); ctxt.addListener(listener); ctxt.setTimeout(3000); Runnable run = new Runnable() { @Override public void run() { if (first) { ctxt.dispatch("/stage1"); } else { ctxt.dispatch("/stage2"); } } }; if ("y".equals(req.getParameter("useThread"))) { new Thread(run).start(); } else { run.run(); } }
Example 14
Source File: AsyncDispatchServlet.java From quarkus-http with Apache License 2.0 | 5 votes |
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { final AsyncContext ac = req.startAsync(req, new TestAsyncRespWrapper(resp)); ac.start(new Runnable() { @Override public void run() { ac.dispatch("/message"); } }); }
Example 15
Source File: Plaintext.java From FrameworkBenchmarks with BSD 3-Clause "New" or "Revised" License | 5 votes |
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { final AsyncContext async = req.startAsync(); final ServletOutputStream out = resp.getOutputStream(); LOGGER.debug("plaintext async start"); resp.setContentType(Helper.MEDIATYPE_TEXT_PLAIN); out.setWriteListener(new WriteListener() { @Override public void onWritePossible() throws IOException { byte[] buffer = new byte[32]; ByteArrayInputStream is = new ByteArrayInputStream(Helper.CONTENT); while (out.isReady()) { int len = is.read(buffer); if (len < 0) { async.complete(); LOGGER.debug("plaintext async end"); return; } out.write(buffer, 0, len); } } @Override public void onError(Throwable t) { LOGGER.error("plaintext async error", t); async.complete(); } }); }
Example 16
Source File: KonduitServlet.java From konduit-serving with Apache License 2.0 | 5 votes |
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setAttribute("org.apache.catalina.ASYNC_SUPPORTED", true); AsyncContext aCtx = req.startAsync(req, resp); addLoggingListenerToCtx(aCtx); ServletInputStream inputStream = req.getInputStream(); byte[] streamContent = IOUtils.toByteArray(inputStream); inputStream.close(); String reqUrl = req.getRequestURL().toString(); String baseUrl = reqUrl.replace(req.getContextPath() + "//", req.getContextPath() + "/"); String url = baseUrl.replace(req.getContextPath(), "") .replace(String.valueOf(req.getLocalPort()), String.valueOf(vertxConfig.getInteger("httpPort"))); HttpClientRequest request = httpClient.request(HttpMethod.GET, url, httpClientResponse -> { httpClientResponse.exceptionHandler(exception -> { log("Error occurred", exception.getCause()); }); httpClientResponse.bodyHandler(body -> { try { final PrintWriter writer = aCtx.getResponse().getWriter(); writer.write(body.toString()); writer.flush(); writer.close(); aCtx.complete(); } catch (IOException e) { log("Error occurred", e); } }); }); request.putHeader("Content-Type", req.getHeader("Content-Type")); request.setChunked(false); request.end(Buffer.buffer(streamContent)); }
Example 17
Source File: TestAsyncContextImpl.java From Tomcat8-Source-Read with MIT License | 5 votes |
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/plain;UTF-8"); asyncContext = req.startAsync(); // This will commit the response asyncContext.complete(); }
Example 18
Source File: TestAsyncContextImpl.java From Tomcat7.0.67 with Apache License 2.0 | 5 votes |
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { AsyncContext actxt = req.startAsync(); resp.setStatus(status); actxt.complete(); }
Example 19
Source File: TestAsyncServlet.java From logging-log4j2 with Apache License 2.0 | 5 votes |
@Override protected void doPost(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { final AsyncContext asyncContext = req.startAsync(); asyncContext.start(new Runnable() { @Override public void run() { final Log4jWebSupport webSupport = WebLoggerContextUtils.getWebLifeCycle(TestAsyncServlet.this.getServletContext()); webSupport.setLoggerContext(); // do stuff webSupport.clearLoggerContext(); } }); }
Example 20
Source File: TestAsyncContextImpl.java From Tomcat7.0.67 with Apache License 2.0 | 5 votes |
@Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.getParameter(PARAM_NAME); AsyncContext actxt = req.startAsync(); actxt.addListener(new Bug54178AsyncListener()); actxt.complete(); }