All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.co.autotrader.traverson.http.entity.MultipartEntityConverter Maven / Gradle / Ivy

There is a newer version: 4.3.2
Show newest version
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