synchronized void initializeAsynchronousTransfer(final FilterChainContext context, final HttpRequestPacket requestPacket) throws IOException { if (asyncTransferInitiated) { throw new IllegalStateException("Async transfer has already been initiated."); } if (feeder == null) { throw new IllegalStateException("No feeder available to perform the transfer."); } assert (context != null); assert (requestPacket != null); this.requestPacket = requestPacket; this.contentBuilder = HttpContent.builder(requestPacket); final Connection c = context.getConnection(); origMaxPendingBytes = c.getMaxAsyncWriteQueueSize(); if (configuredMaxPendingBytes != DEFAULT) { c.setMaxAsyncWriteQueueSize(configuredMaxPendingBytes); } this.context = context; asyncTransferInitiated = true; if (requestPacket.isSecure() && (getSSLEngine(context.getConnection()) == null)) { flushOnSSLHandshakeComplete(); } else { feederFlush(context.getConnection()); } }
/** * Get the HTTP message content builder. * * @return {@link HttpContent.Builder}. */ public final HttpContent.Builder httpContentBuilder() { return HttpContent.builder(this); }
/** * Get the HTTP message content builder. * * @return {@link HttpContent.Builder}. */ public final HttpContent.Builder httpContentBuilder() { return HttpContent.builder(this); }
/** * Get the HTTP message content builder. * * @return {@link HttpContent.Builder}. */ public final HttpContent.Builder httpContentBuilder() { return HttpContent.builder(this); }
/** * Get the HTTP message content builder. * * @return {@link HttpContent.Builder}. */ public final HttpContent.Builder httpContentBuilder() { return HttpContent.builder(this); }
/** * Get the HTTP message content builder. * * @return {@link HttpContent.Builder}. */ public final HttpContent.Builder httpContentBuilder() { return HttpContent.builder(this); }
/** * Get the HTTP message content builder. * * @return {@link HttpContent.Builder}. */ public final HttpContent.Builder httpContentBuilder() { return HttpContent.builder(this); }
/** * Get the HTTP message content builder. * * @return {@link HttpContent.Builder}. */ public final HttpContent.Builder httpContentBuilder() { return HttpContent.builder(this); }
/** * Get the HTTP message content builder. * * @return {@link HttpContent.Builder}. */ public final HttpContent.Builder httpContentBuilder() { return HttpContent.builder(this); }
/** * Get the HTTP message content builder. * * @return {@link HttpContent.Builder}. */ public final HttpContent.Builder httpContentBuilder() { return HttpContent.builder(this); }
protected HttpContent customizeErrorResponse( final HttpResponsePacket response) { response.setContentLength(0); return HttpContent.builder(response).last(true).build(); }
@Override public void run() { http2Session.sendMessageUpstream(pushStream, HttpContent .builder(request) .content(Buffers.EMPTY_BUFFER) .build()); } });
@Override public void run() { http2Session.sendMessageUpstream(pushStream, HttpContent .builder(request) .content(Buffers.EMPTY_BUFFER) .build()); } });
protected HttpContent customizeErrorResponse( final HttpResponsePacket response) { response.setContentLength(0); return HttpContent.builder(response).last(true).build(); }
protected HttpContent customizeErrorResponse( final HttpResponsePacket response) { response.setContentLength(0); return HttpContent.builder(response).last(true).build(); }
protected HttpContent customizeErrorResponse( final HttpResponsePacket response) { response.setContentLength(0); return HttpContent.builder(response).last(true).build(); }
protected HttpContent customizeErrorResponse( final HttpResponsePacket response) { response.setContentLength(0); return HttpContent.builder(response).last(true).build(); }
@Override public void run() { http2Session.sendMessageUpstream(pushStream, HttpContent .builder(request) .content(Buffers.EMPTY_BUFFER) .build()); } });
@Override public void run() { http2Session.sendMessageUpstream(pushStream, HttpContent .builder(request) .content(Buffers.EMPTY_BUFFER) .build()); } });
private void writeHttpResponse(FilterChainContext ctx, int status) { HttpResponsePacket responsePacket = getHttpRequest(ctx).getResponse(); responsePacket.setProtocol(Protocol.HTTP_1_1); responsePacket.setStatus(status); ctx.write(HttpContent.builder(responsePacket).build()); }