package com.nvarghese.beowulf.common.http.payload;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.entity.ContentType;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class EntityWrappedRequestPayload implements RequestPayload {
private final HttpEntity httpEntity;
static Logger logger = LoggerFactory.getLogger(EntityWrappedRequestPayload.class);
public EntityWrappedRequestPayload(final HttpEntity httpEntity) {
this.httpEntity = httpEntity;
}
@Override
public HttpEntity toHttpEntity() {
return httpEntity;
}
@Override
public byte[] getBody() {
ByteArrayOutputStream bout = new ByteArrayOutputStream();
try {
httpEntity.writeTo(bout);
} catch (IOException e) {
logger.error("Failed to convert to bytearray. Reason: {}", e.getMessage(), e);
}
return bout.toByteArray();
}
@Override
public ContentType getContentType() {
ContentType type = ContentType.getOrDefault(httpEntity);
return type;
}
}