Class ResponseBytes<ResponseT>


  • public final class ResponseBytes<ResponseT>
    extends BytesWrapper
    An in-memory representation of the service's response from a streaming operation. This usually obtained by calling the "bytes" form of a streaming operation, like S3's getObjectBytes. Can also be retrieved by passing ResponseTransformer.toBytes() or AsyncResponseTransformer.toBytes() to a streaming output operation.
    • Method Detail

      • fromByteArray

        public static <ResponseT> ResponseBytes<ResponseT> fromByteArray​(ResponseT response,
                                                                         byte[] bytes)
        Create ResponseBytes from a Byte array. This will copy the contents of the byte array.
      • fromByteArrayUnsafe

        public static <ResponseT> ResponseBytes<ResponseT> fromByteArrayUnsafe​(ResponseT response,
                                                                               byte[] bytes)
        Create ResponseBytes from a Byte array without copying the contents of the byte array. This introduces concurrency risks, allowing: (1) the caller to modify the byte array stored in this SdkBytes implementation AND (2) any users of BytesWrapper.asByteArrayUnsafe() to modify the byte array passed into this SdkBytes implementation.

        As the method name implies, this is unsafe. Use fromByteArray(Object, byte[]) unless you're sure you know the risks.

      • response

        public ResponseT response()
        Returns:
        the unmarshalled response object from the service.