public JettySse(final Request request, final Response rsp) { this.req = request; this.rsp = rsp; this.out = rsp.getHttpOutput(); }
private HttpOutput sender() { return ((Response) rsp).getHttpOutput(); }
@Override public void handle(String pathInContext, Request request, HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws IOException, ServletException { request.getResponse().getHttpOutput().sendContent(EofTerminatedTest.class.getClassLoader().getResourceAsStream("SimpleTextFile.txt")); } }
private void invoke(ServiceRequestContext ctx, HttpResponseWriter res, ArmeriaHttpTransport transport, HttpChannel httpChannel) { final Queue<HttpData> out = transport.out; try { server.handle(httpChannel); httpChannel.getResponse().getHttpOutput().flush(); final Throwable cause = transport.cause; if (cause != null) { throw cause; } final HttpHeaders headers = toResponseHeaders(transport); if (res.tryWrite(headers)) { for (;;) { final HttpData data = out.poll(); if (data == null || !res.tryWrite(data)) { break; } } } } catch (Throwable t) { logger.warn("{} Failed to produce a response:", ctx, t); } finally { res.close(); } }
public JettySse(final Request request, final Response rsp) { this.req = request; this.rsp = rsp; this.out = rsp.getHttpOutput(); }
private HttpOutput sender() { return ((Response) rsp).getHttpOutput(); }
@Override public void succeeded() { super.failed(x); _response.getHttpOutput().closed(); }
@Override public void onFlushed(long bytes) throws IOException { getResponse().getHttpOutput().onFlushed(bytes); }
@Override public void succeeded() { super.failed(x); _response.getHttpOutput().closed(); }
@Override public void onFlushed(long bytes) throws IOException { // Unfortunately cannot distinguish between header and content // bytes, and for content bytes whether they are chunked or not. _channel.getResponse().getHttpOutput().onFlushed(bytes); }
public static Socket getTlsSocket(Response response) { HttpChannel httpChannel = response.getHttpOutput().getHttpChannel(); SslConnection.DecryptedEndPoint sslEndpoint = (SslConnection.DecryptedEndPoint) httpChannel.getEndPoint(); Object endpoint = sslEndpoint.getSslConnection().getEndPoint(); try { return (Socket) endpoint.getClass().getMethod("getSocket").invoke(endpoint); } catch (Exception e) { return throwUnchecked(e, Socket.class); } }
private Socket socket() { HttpChannel httpChannel = response.getHttpOutput().getHttpChannel(); ChannelEndPoint ep = (ChannelEndPoint) httpChannel.getEndPoint(); return ((SocketChannel) ep.getChannel()).socket(); }
protected boolean sendResponse(ResponseInfo info, ByteBuffer content, boolean complete) throws IOException { try(Blocker blocker = _response.getHttpOutput().acquireWriteBlockingCallback()) { boolean committing = sendResponse(info,content,complete,blocker); blocker.block(); return committing; } }
private void writeGarbageThenCloseSocket() { response.getHttpOutput().getHttpChannel().getEndPoint().write(new Callback() { @Override public void succeeded() { try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } @Override public void failed(Throwable x) { try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } }, BufferUtil.toBuffer(GARBAGE)); }
_response.getHttpOutput().closed();
protected boolean sendResponse(MetaData.Response info, ByteBuffer content, boolean complete) throws IOException { try(Blocker blocker = _response.getHttpOutput().acquireWriteBlockingCallback()) { boolean committing = sendResponse(info,content,complete,blocker); blocker.block(); return committing; } catch (Throwable failure) { if (LOG.isDebugEnabled()) LOG.debug(failure); abort(failure); throw failure; } }
_response.getHttpOutput().closed();
public boolean sendResponse(MetaData.Response info, ByteBuffer content, boolean complete) throws IOException { try(Blocker blocker = _response.getHttpOutput().acquireWriteBlockingCallback()) { boolean committing = sendResponse(info,content,complete,blocker); blocker.block(); return committing; } catch (Throwable failure) { if (LOG.isDebugEnabled()) LOG.debug(failure); abort(failure); throw failure; } }
LOG.debug("{} handle {} in {}",this,baseRequest,context); HttpOutput out = baseRequest.getResponse().getHttpOutput();
LOG.debug("{} handle {} in {}",this,baseRequest,context); HttpOutput out = baseRequest.getResponse().getHttpOutput();