com.rt.storage.api.client.http.HttpContent Maven / Gradle / Ivy
package com.rt.storage.api.client.http;
import com.rt.storage.api.client.util.StreamingContent;
import java.io.IOException;
import java.io.OutputStream;
/**
* Serializes HTTP request content into an output stream.
*
* Implementations don't need to be thread-safe.
*
* @since 1.0
* @author Yaniv Inbar
*/
public interface HttpContent extends StreamingContent {
/** Returns the content length or less than zero if not known. */
long getLength() throws IOException;
/** Returns the content type or {@code null} for none. */
String getType();
/**
* Returns whether or not retry is supported on this content type.
*
* @since 1.4
*/
boolean retrySupported();
void writeTo(OutputStream out) throws IOException;
}