package net.oauth;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.util.Collection;
import java.util.Map;
import net.oauth.http.HttpMessage;
import net.oauth.http.HttpMessageDecoder;
public class MessageWithBody extends OAuthMessage {
private final byte[] body;
public MessageWithBody(String method, String URL, Collection<OAuth.Parameter> parameters,
String contentType, byte[] body) {
super(method, URL, parameters);
this.body = body;
Collection<Map.Entry<String, String>> headers = getHeaders();
headers.add(new OAuth.Parameter(HttpMessage.ACCEPT_ENCODING, HttpMessageDecoder.ACCEPTED));
if (body != null) {
headers.add(new OAuth.Parameter(HttpMessage.CONTENT_LENGTH, String.valueOf(body.length)));
}
if (contentType != null) {
headers.add(new OAuth.Parameter(HttpMessage.CONTENT_TYPE, contentType));
}
}
public InputStream getBodyAsStream() {
return (body == null) ? null : new ByteArrayInputStream(body);
}
}