Class HttpResponse

java.lang.Object
com.azure.core.http.HttpResponse
All Implemented Interfaces:
Closeable, AutoCloseable

public abstract class HttpResponse extends Object implements Closeable
The response of an HttpRequest.
  • Constructor Details

  • Method Details

    • getStatusCode

      public abstract int getStatusCode()
      Get the response status code.
      Returns:
      The response status code
    • getHeaderValue

      public abstract String getHeaderValue(String name)
      Lookup a response header with the provided name.
      Parameters:
      name - the name of the header to lookup.
      Returns:
      the value of the header, or null if the header doesn't exist in the response.
    • getHeaders

      public abstract HttpHeaders getHeaders()
      Get all response headers.
      Returns:
      the response headers
    • getBody

      public abstract Flux<ByteBuffer> getBody()
      Get the publisher emitting response content chunks.

      Returns a stream of the response's body content. Emissions may occur on Reactor threads which should not be blocked. Blocking should be avoided as much as possible/practical in reactive programming but if you do use methods like block() on the stream then be sure to use publishOn before the blocking call.

      Returns:
      The response's content as a stream of ByteBuffer.
    • getBodyAsBinaryData

      public BinaryData getBodyAsBinaryData()
      Gets the BinaryData that represents the body of the response. Subclasses should override this method.
      Returns:
      The BinaryData response body.
    • getBodyAsByteArray

      public abstract Mono<byte[]> getBodyAsByteArray()
      Gets the response content as a byte[].
      Returns:
      The response content as a byte[].
    • getBodyAsString

      public abstract Mono<String> getBodyAsString()
      Gets the response content as a String.

      By default this method will inspect the response body for containing a byte order mark (BOM) to determine the encoding of the string (UTF-8, UTF-16, etc.). If a BOM isn't found this will default to using UTF-8 as the encoding, if a specific encoding is required use getBodyAsString(Charset).

      Returns:
      The response content as a String.
    • getBodyAsString

      public abstract Mono<String> getBodyAsString(Charset charset)
      Gets the response content as a String.
      Parameters:
      charset - The Charset to use as the string encoding.
      Returns:
      The response content as a String.
    • getBodyAsInputStream

      public Mono<InputStream> getBodyAsInputStream()
      Gets the response content as an InputStream.
      Returns:
      The response content as an InputStream.
    • getRequest

      public final HttpRequest getRequest()
      Gets the request which resulted in this response.
      Returns:
      The request which resulted in this response.
    • buffer

      public HttpResponse buffer()
      Gets a new response object wrapping this response with its content buffered into memory.
      Returns:
      A new response with the content buffered.
    • writeBodyToAsync

      public Mono<Void> writeBodyToAsync(AsynchronousByteChannel channel)
      Transfers body bytes to the AsynchronousByteChannel.
      Parameters:
      channel - The destination AsynchronousByteChannel.
      Returns:
      A Mono that completes when transfer is completed.
      Throws:
      NullPointerException - When channel is null.
    • writeBodyTo

      public void writeBodyTo(WritableByteChannel channel) throws IOException
      Transfers body bytes to the WritableByteChannel.
      Parameters:
      channel - The destination WritableByteChannel.
      Throws:
      IOException - When I/O operation fails.
      NullPointerException - When channel is null.
    • close

      public void close()
      Closes the response content stream, if any.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable