Class RequestBody
java.lang.Object
software.amazon.awssdk.core.sync.RequestBody
Represents the body of an HTTP request. Must be provided for operations that have a streaming input.
Offers various convenience factory methods from common sources of data (File, String, byte[], etc).
-
Method Summary
Modifier and TypeMethodDescriptionlongDeprecated.static RequestBodyempty()Creates aRequestBodywith no content.static RequestBodyfromByteBuffer(ByteBuffer byteBuffer) Creates aRequestBodyfrom aByteBuffer.static RequestBodyfromBytes(byte[] bytes) Creates aRequestBodyfrom a byte array.static RequestBodyfromContentProvider(ContentStreamProvider provider, long contentLength, String mimeType) Creates aRequestBodyfrom the givenContentStreamProvider.static RequestBodyfromContentProvider(ContentStreamProvider provider, String mimeType) Creates aRequestBodyfrom the givenContentStreamProvider.static RequestBodyCreate aRequestBodyusing the full contents of the specified file.static RequestBodyCreate aRequestBodyusing the full contents of the specified file.static RequestBodyfromInputStream(InputStream inputStream, long contentLength) Creates aRequestBodyfrom an input stream.static RequestBodyfromRemainingByteBuffer(ByteBuffer byteBuffer) Creates aRequestBodyfrom the remaining readable bytes from aByteBuffer.static RequestBodyfromString(String contents) Creates aRequestBodyfrom a string.static RequestBodyfromString(String contents, Charset cs) Creates aRequestBodyfrom a string.
-
Method Details
-
contentStreamProvider
- Returns:
- RequestBody as an
InputStream.
-
contentLength
Deprecated.- Returns:
- Content length of
RequestBody.
-
optionalContentLength
- Returns:
- Optional object of content length of
RequestBody.
-
contentType
- Returns:
- Content type of
RequestBody.
-
fromFile
Create aRequestBodyusing the full contents of the specified file.- Parameters:
path- File to send to the service.- Returns:
- RequestBody instance.
-
fromFile
Create aRequestBodyusing the full contents of the specified file.- Parameters:
file- File to send to the service.- Returns:
- RequestBody instance.
-
fromInputStream
Creates aRequestBodyfrom an input stream. "Content-Length" must be provided so that the SDK does not have to make two passes of the data.The stream will not be closed by the SDK. It is up to to caller of this method to close the stream. The stream should not be read outside of the SDK (by another thread) as it will change the state of the
InputStreamand could tamper with the sending of the request.To support resetting via
ContentStreamProvider, this usesInputStream.reset()and uses a read limit of 128 KiB. If you need more control, usefromContentProvider(ContentStreamProvider, long, String)orfromContentProvider(ContentStreamProvider, String).- Parameters:
inputStream- Input stream to send to the service. The stream will not be closed by the SDK.contentLength- Content length of data in input stream.- Returns:
- RequestBody instance.
-
fromString
Creates aRequestBodyfrom a string. String is sent using the provided encoding.- Parameters:
contents- String to send to the service.cs- TheCharsetto use.- Returns:
- RequestBody instance.
-
fromString
Creates aRequestBodyfrom a string. String is sent as UTF-8 encoded bytes.- Parameters:
contents- String to send to the service.- Returns:
- RequestBody instance.
-
fromBytes
Creates aRequestBodyfrom a byte array. The contents of the byte array are copied so modifications to the original byte array are not reflected in theRequestBody.- Parameters:
bytes- The bytes to send to the service.- Returns:
- RequestBody instance.
-
fromByteBuffer
Creates aRequestBodyfrom aByteBuffer. Buffer contents are copied so any modifications made to the originalByteBufferare not reflected in theRequestBody.NOTE: This method always copies the entire contents of the buffer, ignoring the current read position. Use
fromRemainingByteBuffer(ByteBuffer)if you need it to copy only the remaining readable bytes.- Parameters:
byteBuffer- ByteBuffer to send to the service.- Returns:
- RequestBody instance.
-
fromRemainingByteBuffer
Creates aRequestBodyfrom the remaining readable bytes from aByteBuffer. UnlikefromByteBuffer(ByteBuffer), this method respects the current read position of the buffer and reads only the remaining bytes. The buffer is copied before reading so no changes are made to original buffer.- Parameters:
byteBuffer- ByteBuffer to send to the service.- Returns:
- RequestBody instance.
-
empty
Creates aRequestBodywith no content.- Returns:
- RequestBody instance.
-
fromContentProvider
public static RequestBody fromContentProvider(ContentStreamProvider provider, long contentLength, String mimeType) Creates aRequestBodyfrom the givenContentStreamProvider.- Parameters:
provider- The content provider.contentLength- The content length.mimeType- The MIME type of the content.- Returns:
- The created
RequestBody.
-
fromContentProvider
Creates aRequestBodyfrom the givenContentStreamProvider.- Parameters:
provider- The content provider.mimeType- The MIME type of the content.- Returns:
- The created
RequestBody.
-
optionalContentLength()