public final class ByteArrayContent extends AbstractInputStreamContent
AbstractInputStreamContent
that generates repeatable input
streams based on the contents of byte array.
Sample use:
static void setJsonContent(HttpRequest request, byte[] json) {
request.setContent(new ByteArrayContent("application/json", json));
}
Implementation is not thread-safe.
Constructor and Description |
---|
ByteArrayContent(String type,
byte[] array)
Constructor from byte array content that has already been encoded.
|
ByteArrayContent(String type,
byte[] array,
int offset,
int length)
Constructor from byte array content that has already been encoded, specifying a range of bytes
to read from the input byte array.
|
Modifier and Type | Method and Description |
---|---|
static ByteArrayContent |
fromString(String type,
String contentString)
Returns a new instance with the UTF-8 encoding (using
StringUtils.getBytesUtf8(String) )
of the given content string. |
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.
|
ByteArrayContent |
setCloseInputStream(boolean closeInputStream)
Sets whether the input stream should be closed at the end of
AbstractInputStreamContent.writeTo(java.io.OutputStream) . |
ByteArrayContent |
setType(String type)
Sets the content type or
null for none. |
getCloseInputStream, getType, writeTo
public ByteArrayContent(String type, byte[] array)
type
- content type or null
for nonearray
- byte array contentpublic ByteArrayContent(String type, byte[] array, int offset, int length)
type
- content type or null
for nonearray
- byte array contentoffset
- starting offset into the byte arraylength
- of bytes to read from byte arraypublic static ByteArrayContent fromString(String type, String contentString)
StringUtils.getBytesUtf8(String)
)
of the given content string.
Sample use:
static void setJsonContent(HttpRequest request, String json) {
request.setContent(ByteArrayContent.fromString("application/json", json));
}
type
- content type or null
for nonecontentString
- content stringpublic long getLength()
HttpContent
public boolean retrySupported()
HttpContent
public InputStream getInputStream()
AbstractInputStreamContent
AbstractInputStreamContent
. 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 AbstractInputStreamContent
public ByteArrayContent setType(String type)
AbstractInputStreamContent
null
for none. Subclasses should override by calling super.setType
in class AbstractInputStreamContent
public ByteArrayContent setCloseInputStream(boolean closeInputStream)
AbstractInputStreamContent
AbstractInputStreamContent.writeTo(java.io.OutputStream)
. Default is
true
. Subclasses should override by calling super.setCloseInputStream
in class AbstractInputStreamContent
Copyright © 2011–2023 Google. All rights reserved.