Skip to content

Commit 8c663d9

Browse files
committed
Rollback fix for AHC-78 as it breaks many Sonatype internal project. Code moved on the branch ahc-78 for now
1 parent 6e1f62a commit 8c663d9

File tree

1 file changed

+6
-25
lines changed

1 file changed

+6
-25
lines changed

src/main/java/com/ning/http/client/providers/netty/NettyAsyncHttpProvider.java

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -400,31 +400,7 @@ protected final <T> void writeRequest(final Channel channel,
400400

401401
if (future.getAndSetWriteBody(true)) {
402402
if (!future.getNettyRequest().getMethod().equals(HttpMethod.CONNECT)) {
403-
if (future.getRequest().getParts() != null) {
404-
String boundary = future.getNettyRequest().getHeader("Content-Type");
405-
String length = future.getNettyRequest().getHeader("Content-Length");
406-
final MultipartBody multipartBody = new MultipartBody(future.getRequest().getParts(), boundary, length);
407-
408-
ChannelFuture writeFuture;
409-
if (channel.getPipeline().get(SslHandler.class) == null) {
410-
writeFuture = channel.write(new BodyFileRegion(multipartBody));
411-
} else {
412-
writeFuture = channel.write(new BodyChunkedInput(multipartBody));
413-
}
414-
415-
writeFuture.addListener(new ProgressListener(false, future.getAsyncHandler(), future) {
416-
417-
public void operationComplete(ChannelFuture cf) {
418-
try {
419-
multipartBody.close();
420-
} catch (IOException e) {
421-
log.warn("Failed to close request body: {}", e.getMessage(), e);
422-
}
423-
super.operationComplete(cf);
424-
}
425-
426-
});
427-
} else if (future.getRequest().getFile() != null) {
403+
if (future.getRequest().getFile() != null) {
428404
final File file = future.getRequest().getFile();
429405
long fileLength = 0;
430406
final RandomAccessFile raf = new RandomAccessFile(file, "r");
@@ -706,6 +682,11 @@ private static HttpRequest construct(AsyncHttpClientConfig config,
706682

707683
nettyRequest.setHeader(HttpHeaders.Names.CONTENT_TYPE, mre.getContentType());
708684
nettyRequest.setHeader(HttpHeaders.Names.CONTENT_LENGTH, String.valueOf(mre.getContentLength()));
685+
686+
ChannelBuffer b = ChannelBuffers.dynamicBuffer(lenght);
687+
mre.writeRequest(new ChannelBufferOutputStream(b));
688+
nettyRequest.setContent(b);
689+
709690
} else if (request.getEntityWriter() != null) {
710691
int lenght = computeAndSetContentLength(request, nettyRequest);
711692

0 commit comments

Comments
 (0)