Class RequestBody


  • public final class RequestBody
    extends Object
    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 Detail

      • optionalContentLength

        public Optional<Long> optionalContentLength()
        Returns:
        Optional object of content length of RequestBody.
      • fromFile

        public static RequestBody fromFile​(Path path)
        Create a RequestBody using the full contents of the specified file.
        Parameters:
        path - File to send to the service.
        Returns:
        RequestBody instance.
      • fromFile

        public static RequestBody fromFile​(File file)
        Create a RequestBody using the full contents of the specified file.
        Parameters:
        file - File to send to the service.
        Returns:
        RequestBody instance.
      • fromString

        public static RequestBody fromString​(String contents,
                                             Charset cs)
        Creates a RequestBody from a string. String is sent using the provided encoding.
        Parameters:
        contents - String to send to the service.
        cs - The Charset to use.
        Returns:
        RequestBody instance.
      • fromString

        public static RequestBody fromString​(String contents)
        Creates a RequestBody from a string. String is sent as UTF-8 encoded bytes.
        Parameters:
        contents - String to send to the service.
        Returns:
        RequestBody instance.
      • fromBytes

        public static RequestBody fromBytes​(byte[] bytes)
        Creates a RequestBody from a byte array. The contents of the byte array are copied so modifications to the original byte array are not reflected in the RequestBody.
        Parameters:
        bytes - The bytes to send to the service.
        Returns:
        RequestBody instance.
      • fromByteBuffer

        public static RequestBody fromByteBuffer​(ByteBuffer byteBuffer)
        Creates a RequestBody from a ByteBuffer. Buffer contents are copied so any modifications made to the original ByteBuffer are not reflected in the RequestBody.

        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

        public static RequestBody fromRemainingByteBuffer​(ByteBuffer byteBuffer)
        Creates a RequestBody from the remaining readable bytes from a ByteBuffer. Unlike fromByteBuffer(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

        public static RequestBody empty()
        Creates a RequestBody with no content.
        Returns:
        RequestBody instance.
      • fromContentProvider

        public static RequestBody fromContentProvider​(ContentStreamProvider provider,
                                                      long contentLength,
                                                      String mimeType)
        Creates a RequestBody from the given ContentStreamProvider.
        Parameters:
        provider - The content provider.
        contentLength - The content length.
        mimeType - The MIME type of the content.
        Returns:
        The created RequestBody.