@Override public long transfered() { return transferred(); }
@Override @Deprecated public ByteBuf readChunk(ChannelHandlerContext ctx) throws Exception { return readChunk(ctx.alloc()); }
@Override public void write(Channel channel, NettyResponseFuture<?> future) { if (future.isStreamConsumed()) { LOGGER.warn("Stream has already been consumed and cannot be reset"); } else { future.setStreamConsumed(true); NettySubscriber subscriber = new NettySubscriber(channel, future); channel.pipeline().addLast(NAME_IN_CHANNEL_PIPELINE, subscriber); publisher.subscribe(new SubscriberAdapter(subscriber)); subscriber.delayedStart(); } }
nettyBody = new NettyByteArrayBody(request.getByteData()); nettyBody = new NettyCompositeByteArrayBody(request.getCompositeByteData()); nettyBody = new NettyByteBufferBody(StringUtils.charSequence2ByteBuffer(request.getStringData(), bodyCharset)); nettyBody = new NettyByteBufferBody(request.getByteBufferData()); nettyBody = new NettyInputStreamBody(request.getStreamData()); nettyBody = new NettyByteBufferBody(urlEncodeFormParams(request.getFormParams(), bodyCharset), contentTypeOverride); nettyBody = new NettyMultipartBody(request.getBodyParts(), request.getHeaders(), config); nettyBody = new NettyFileBody(request.getFile(), config); nettyBody = new NettyFileBody(fileBodyGenerator.getFile(), fileBodyGenerator.getRegionSeek(), fileBodyGenerator.getRegionLength(), config); nettyBody = new NettyInputStreamBody(inStreamGenerator.getInputStream(), inStreamGenerator.getContentLength()); nettyBody = new NettyReactiveStreamsBody(reactiveStreamsBodyGenerator.getPublisher(), reactiveStreamsBodyGenerator.getContentLength()); nettyBody = new NettyBodyBody(request.getBodyGenerator().createBody(), config);
if (body instanceof RandomAccessBody && !ChannelManager.isSslHandlerConfigured(channel.pipeline()) && !config.isDisableZeroCopy() && getContentLength() > 0) { msg = new BodyFileRegion((RandomAccessBody) body); msg = new BodyChunkedInput(body); .addListener(new WriteProgressListener(future, false, getContentLength()) { public void operationComplete(ChannelProgressiveFuture cf) { closeSilently(body);
ByteBuf buf = NettyDirectBody.class.cast(body).byteBuf(); HttpRequest httpRequest = new DefaultFullHttpRequest(httpVersion, method, requestUri, buf); if (body.getContentLength() < 0) { headers.set(TRANSFER_ENCODING, HttpHeaderValues.CHUNKED); } else { headers.set(CONTENT_LENGTH, body.getContentLength()); if (body != null && body.getContentTypeOverride() != null) { headers.set(CONTENT_TYPE, body.getContentTypeOverride());
public void feed(final ByteBuffer buffer, final boolean isLast) throws IOException { queue.offer(new BodyPart(buffer, isLast)); queueSize.incrementAndGet(); if (listener != null) { listener.onContentAdded(); } }
nettyRequest.getBody().write(channel, future);
@Override public void write(Channel channel, NettyResponseFuture<?> future) throws IOException { if (future.isStreamWasAlreadyConsumed()) { LOGGER.warn("Stream has already been consumed and cannot be reset"); } else { future.setStreamWasAlreadyConsumed(true); NettySubscriber subscriber = new NettySubscriber(channel, future); channel.pipeline().addLast(NAME_IN_CHANNEL_PIPELINE, subscriber); publisher.subscribe(new SubscriberAdapter(subscriber)); } }
@Override protected void complete() { channel.eventLoop().execute(() -> channel.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT) .addListener(future -> removeFromPipeline())); }
@Override public void write(Channel channel, NettyResponseFuture<?> future) throws IOException { final InputStream is = inputStream; if (future.isStreamConsumed()) { if (is.markSupported()) is.reset(); else { LOGGER.warn("Stream has already been consumed and cannot be reset"); return; } } else { future.setStreamConsumed(true); } channel.write(new ChunkedStream(is), channel.newProgressivePromise()).addListener( new WriteProgressListener(future, false, getContentLength()) { public void operationComplete(ChannelProgressiveFuture cf) { closeSilently(is); super.operationComplete(cf); } }); channel.writeAndFlush(LastHttpContent.EMPTY_LAST_CONTENT, channel.voidPromise()); } }
@Override public Body createBody() throws IOException { return new PushBody(); }
public long transferTo(WritableByteChannel target, long position) throws IOException { long count = this.count - position; if (count < 0 || position < 0) { throw new IllegalArgumentException("position out of range: " + position + " (expected: 0 - " + (this.count - 1) + ")"); } if (count == 0) { return 0L; } long bw = file.transferTo(this.position + position, count, target); byteWritten += bw; if (byteWritten == raf.length()) { releaseExternalResources(); } return bw; }
nettyBody = new NettyByteArrayBody(request.getByteData()); nettyBody = new NettyCompositeByteArrayBody(request.getCompositeByteData()); nettyBody = new NettyByteBufferBody(StringUtils.charSequence2ByteBuffer(request.getStringData(), bodyCharset)); nettyBody = new NettyByteBufferBody(request.getByteBufferData()); nettyBody = new NettyInputStreamBody(request.getStreamData(), config); contentType = HttpHeaders.Values.APPLICATION_X_WWW_FORM_URLENCODED; nettyBody = new NettyByteBufferBody(urlEncodeFormParams(request.getFormParams(), bodyCharset), contentType); nettyBody = new NettyMultipartBody(request.getParts(), request.getHeaders(), config); nettyBody = new NettyFileBody(request.getFile(), config); nettyBody = new NettyFileBody(fileBodyGenerator.getFile(), fileBodyGenerator.getRegionSeek(), fileBodyGenerator.getRegionLength(), config); nettyBody = new NettyInputStreamBody(InputStreamBodyGenerator.class.cast(request.getBodyGenerator()).getInputStream(), config); nettyBody = new NettyBodyBody(request.getBodyGenerator().createBody(), config);
public void feed(final ByteBuffer buffer, final boolean isLast) throws IOException { queue.offer(new BodyPart(buffer, isLast)); queueSize.incrementAndGet(); if (listener != null) { listener.onContentAdded(); } }
@Override protected void error(Throwable error) { assertNotNull(error, "error"); removeFromPipeline(); future.abort(error); }
@Override public Body createBody() throws IOException { return new PushBody(); }
nettyBody = new NettyByteArrayBody(request.getByteData()); nettyBody = new NettyCompositeByteArrayBody(request.getCompositeByteData()); nettyBody = new NettyByteBufferBody(StringUtils.charSequence2ByteBuffer(request.getStringData(), bodyCharset)); nettyBody = new NettyByteBufferBody(request.getByteBufferData()); nettyBody = new NettyInputStreamBody(request.getStreamData(), config); contentType = HttpHeaders.Values.APPLICATION_X_WWW_FORM_URLENCODED; nettyBody = new NettyByteBufferBody(urlEncodeFormParams(request.getFormParams(), bodyCharset), contentType); nettyBody = new NettyMultipartBody(request.getParts(), request.getHeaders(), config); nettyBody = new NettyFileBody(request.getFile(), config); nettyBody = new NettyFileBody(fileBodyGenerator.getFile(), fileBodyGenerator.getRegionSeek(), fileBodyGenerator.getRegionLength(), config); nettyBody = new NettyInputStreamBody(InputStreamBodyGenerator.class.cast(request.getBodyGenerator()).getInputStream(), config); nettyBody = new NettyBodyBody(request.getBodyGenerator().createBody(), config);
@Override protected void error(Throwable error) { if(error == null) throw null; removeFromPipeline(); future.abort(error); }
nettyBody = new NettyByteArrayBody(request.getByteData()); nettyBody = new NettyCompositeByteArrayBody(request.getCompositeByteData()); nettyBody = new NettyByteBufferBody(StringUtils.charSequence2ByteBuffer(request.getStringData(), bodyCharset)); nettyBody = new NettyByteBufferBody(request.getByteBufferData()); nettyBody = new NettyInputStreamBody(request.getStreamData(), config); contentType = HttpHeaders.Values.APPLICATION_X_WWW_FORM_URLENCODED; nettyBody = new NettyByteBufferBody(urlEncodeFormParams(request.getFormParams(), bodyCharset), contentType); nettyBody = new NettyMultipartBody(request.getParts(), request.getHeaders(), config); nettyBody = new NettyFileBody(request.getFile(), config); nettyBody = new NettyFileBody(fileBodyGenerator.getFile(), fileBodyGenerator.getRegionSeek(), fileBodyGenerator.getRegionLength(), config); nettyBody = new NettyInputStreamBody(InputStreamBodyGenerator.class.cast(request.getBodyGenerator()).getInputStream(), config); nettyBody = new NettyBodyBody(request.getBodyGenerator().createBody(), config);