In my current usage of async-http-client, I notice that multi-part request body is not kept after server sends a 307 redirect for HTTP Post. It does keep request body for non-multi part data though.
We are using Async Http Client lib Version: 2.2.0
Multi Part Request data is:
Part 1: jsonpart string
Part 2: byte array of mime data
Multi-part data is set as follows:
Request request = new RequestBuilder(Methods.POST)
.addBodyPart(jsonPart)
.addBodyPart(mimePart)
Looking at this code, I don't see 307Interceptor is setting MultiPart data. I am hoping I am looking at the right place.
|
if (keepBody) { |
|
requestBuilder.setCharset(request.getCharset()); |
|
if (isNonEmpty(request.getFormParams())) |
|
requestBuilder.setFormParams(request.getFormParams()); |
|
else if (request.getStringData() != null) |
|
requestBuilder.setBody(request.getStringData()); |
|
else if (request.getByteData() != null) |
|
requestBuilder.setBody(request.getByteData()); |
|
else if (request.getByteBufferData() != null) |
|
requestBuilder.setBody(request.getByteBufferData()); |
|
else if (request.getBodyGenerator() != null) |
|
requestBuilder.setBody(request.getBodyGenerator()); |
|
} |
In my current usage of async-http-client, I notice that multi-part request body is not kept after server sends a 307 redirect for HTTP Post. It does keep request body for non-multi part data though.
We are using Async Http Client lib Version: 2.2.0
Multi Part Request data is:
Part 1: jsonpart string
Part 2: byte array of mime data
Multi-part data is set as follows:
Looking at this code, I don't see 307Interceptor is setting MultiPart data. I am hoping I am looking at the right place.
async-http-client/client/src/main/java/org/asynchttpclient/netty/handler/intercept/Redirect30xInterceptor.java
Lines 102 to 114 in 6e4c1a6