@Override protected void handshake(final Runnable handler) throws Exception { /** Infinite timeout because the continuation is never resumed but only completed on close. */ req.getAsyncContext().setTimeout(0L); /** Server sent events headers. */ rsp.setStatus(HttpServletResponse.SC_OK); rsp.setHeader("Connection", "Close"); rsp.setContentType("text/event-stream; charset=utf-8"); rsp.flushBuffer(); HttpChannel channel = rsp.getHttpChannel(); Connector connector = channel.getConnector(); Executor executor = connector.getExecutor(); executor.execute(handler); }
@Override public void malformedResponseChunk() { try { response.setStatus(200); response.flushBuffer(); socket.getChannel().write(BufferUtil.toBuffer(GARBAGE)); socket.close(); } catch (IOException e) { throwUnchecked(e); } }
@Override public void malformedResponseChunk() { try { response.setStatus(200); response.flushBuffer(); writeGarbageThenCloseSocket(); } catch (IOException e) { throwUnchecked(e); } }
private void minimalErrorResponse(Throwable failure) { try { int code = 500; Integer status=(Integer)_request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE); if (status!=null) code = status.intValue(); else { Throwable cause = unwrap(failure,BadMessageException.class); if (cause instanceof BadMessageException) code = ((BadMessageException)cause).getCode(); } _response.reset(true); _response.setStatus(code); _response.flushBuffer(); } catch (Throwable x) { if (x != failure) failure.addSuppressed(x); abort(failure); } }
if (response.setErrorReported()) { try { response.flushBuffer(); } catch (Throwable t) { ExceptionUtils.handleThrowable(t);
@Override protected void handshake(final Runnable handler) throws Exception { /** Infinite timeout because the continuation is never resumed but only completed on close. */ req.getAsyncContext().setTimeout(0L); /** Server sent events headers. */ rsp.setStatus(HttpServletResponse.SC_OK); rsp.setHeader("Connection", "Close"); rsp.setContentType("text/event-stream; charset=utf-8"); rsp.flushBuffer(); HttpChannel channel = rsp.getHttpChannel(); Connector connector = channel.getConnector(); Executor executor = connector.getExecutor(); executor.execute(handler); }
if (_etags) r.getHttpFields().add(HttpHeaders.ETAG_BUFFER,content.getETag()); r.flushBuffer(); return false; if (_etags) r.getHttpFields().add(HttpHeaders.ETAG_BUFFER,content.getETag()); r.flushBuffer(); return false;
if (_etags) r.getHttpFields().add(HttpHeaders.ETAG_BUFFER,content.getETag()); r.flushBuffer(); return false; if (_etags) r.getHttpFields().add(HttpHeaders.ETAG_BUFFER,content.getETag()); r.flushBuffer(); return false;
if (_etags) r.getHttpFields().add(HttpHeaders.ETAG_BUFFER,content.getETag()); r.flushBuffer(); return false; if (_etags) r.getHttpFields().add(HttpHeaders.ETAG_BUFFER,content.getETag()); r.flushBuffer(); return false;
r.flushBuffer(); return false; r.flushBuffer(); return false;
r.flushBuffer(); return false; r.flushBuffer(); return false;