
uk.co.autotrader.traverson.http.entity.MultipartEntityConverter Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of traverson4j-hc5 Show documentation
Show all versions of traverson4j-hc5 Show documentation
An Apache HttpComponents 5 client to power traverson4j-core
package uk.co.autotrader.traverson.http.entity;
import org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder;
import org.apache.hc.core5.http.ContentType;
import org.apache.hc.core5.http.HttpEntity;
import uk.co.autotrader.traverson.http.Body;
import uk.co.autotrader.traverson.http.SimpleMultipartBody;
class MultipartEntityConverter implements HttpEntityConverter {
@Override
public HttpEntity toEntity(Body body) {
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
for (SimpleMultipartBody.BodyPart bodyPart : ((SimpleMultipartBody) body).getContent()) {
if (bodyPart.getData() != null) {
multipartEntityBuilder.addBinaryBody(bodyPart.getName(), bodyPart.getData(), ContentType.create(bodyPart.getContentType()), bodyPart.getFilename());
} else if (bodyPart.getValue() != null) {
multipartEntityBuilder.addTextBody(bodyPart.getName(), bodyPart.getValue());
} else {
multipartEntityBuilder.addBinaryBody(bodyPart.getName(), bodyPart.getInputStream(), ContentType.create(bodyPart.getContentType()), bodyPart.getFilename());
}
}
return multipartEntityBuilder.build();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy