public final class InputStreamContent extends AbstractInputStreamContent
AbstractInputStreamContent that simply handles the transfer of
data from an input stream to an output stream. This should only be used for streams that can not
be re-opened and retried. If you have a stream that it is possible to recreate please create a
new subclass of AbstractInputStreamContent.
The input stream is guaranteed to be closed at the end of AbstractInputStreamContent.writeTo(OutputStream).
Sample use with a URL:
private static void setRequestJpegContent(HttpRequest request, URL jpegUrl) throws IOException {
request.setContent(new InputStreamContent("image/jpeg", jpegUrl.openStream()));
}
Implementation is not thread-safe.
| Constructor and Description |
|---|
InputStreamContent(String type,
InputStream inputStream) |
| Modifier and Type | Method and Description |
|---|---|
InputStream |
getInputStream()
Return an input stream for the specific implementation type of
AbstractInputStreamContent. |
long |
getLength()
Returns the content length or less than zero if not known.
|
boolean |
retrySupported()
Returns whether or not retry is supported on this content type.
|
InputStreamContent |
setCloseInputStream(boolean closeInputStream)
Sets whether the input stream should be closed at the end of
AbstractInputStreamContent.writeTo(java.io.OutputStream). |
InputStreamContent |
setEncoding(String encoding)
Sets the content encoding (for example
"gzip") or null for none. |
InputStreamContent |
setLength(long length)
Sets the content length or less than zero if not known.
|
InputStreamContent |
setRetrySupported(boolean retrySupported)
Sets whether or not retry is supported.
|
InputStreamContent |
setType(String type)
Sets the content type or
null for none. |
copy, copy, getCloseInputStream, getEncoding, getType, writeTopublic InputStreamContent(String type, InputStream inputStream)
type - Content type or null for noneinputStream - Input stream to read frompublic long getLength()
HttpContentpublic boolean retrySupported()
HttpContentpublic InputStreamContent setRetrySupported(boolean retrySupported)
false.
Should be set to true if getInputStream() is called to reset to the original
position of the input stream.
public InputStream getInputStream()
AbstractInputStreamContentAbstractInputStreamContent. If the specific implementation will return true for
HttpContent.retrySupported() this should be a factory function which will create a new
InputStream from the source data whenever invoked.getInputStream in class AbstractInputStreamContentpublic InputStreamContent setEncoding(String encoding)
AbstractInputStreamContent"gzip") or null for none. Subclasses
should override by calling super.setEncoding in class AbstractInputStreamContentpublic InputStreamContent setType(String type)
AbstractInputStreamContentnull for none. Subclasses should override by calling super.setType in class AbstractInputStreamContentpublic InputStreamContent setCloseInputStream(boolean closeInputStream)
AbstractInputStreamContentAbstractInputStreamContent.writeTo(java.io.OutputStream). Default is
true. Subclasses should override by calling super.setCloseInputStream in class AbstractInputStreamContentpublic InputStreamContent setLength(long length)
Defaults to -1.
Copyright © 2011-2012 Google. All Rights Reserved.