Skip to content

Multi-part Request body is not kept after 307 Redirects #1643

Closed
@prabhash1785

Description

@prabhash1785

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());
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions