io.vertx.core.http

## Interface HttpClientResponse

- All Superinterfaces:
    ReadStream<Buffer>, StreamBase

      public interface HttpClientResponse
      extends ReadStream<Buffer>

  Represents a client-side HTTP response.

  Vert.x provides you with one of these via the handler that was provided when creating the `HttpClientRequest` or that was set on the `HttpClientRequest` instance.

  It implements `ReadStream` so it can be used with `Pump` to pump data with flow control.

  Author:
    Tim Fox

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `HttpClientResponse` | `bodyHandler(Handler<Buffer> bodyHandler)` Convenience method for receiving the entire request body in one piece.
    `List<String>` | `cookies()`
    `HttpClientResponse` | `customFrameHandler(Handler<HttpFrame> handler)` Set an custom frame handler.
    `HttpClientResponse` | `endHandler(Handler<Void> endHandler)` Set an end handler.
    `HttpClientResponse` | `exceptionHandler(Handler<Throwable> handler)` Set an exception handler on the read stream.
    `HttpClientResponse` | `fetch(long amount)` Fetch the specified `amount` of elements.
    `String` | `getHeader(CharSequence headerName)` Return the first header value with the specified name
    `String` | `getHeader(String headerName)` Return the first header value with the specified name
    `String` | `getTrailer(String trailerName)` Return the first trailer value with the specified name
    `HttpClientResponse` | `handler(Handler<Buffer> handler)` Set a data handler.
    `MultiMap` | `headers()`
    `NetSocket` | `netSocket()` Get a net socket for the underlying connection of this request.
    `HttpClientResponse` | `pause()` Pause the `ReadStream`, it sets the buffer in `fetch` mode and clears the actual demand.
    `HttpClientRequest` | `request()`
    `HttpClientResponse` | `resume()` Resume reading, and sets the buffer in `flowing` mode.
    `int` | `statusCode()`
    `String` | `statusMessage()`
    `HttpClientResponse` | `streamPriorityHandler(Handler<StreamPriority> handler)` Set an handler for stream priority changes.
    `MultiMap` | `trailers()`
    `HttpVersion` | `version()`

- - ### Method Detail

    - #### fetch

          HttpClientResponse fetch(long amount)

      Description copied from interface: `ReadStream`
      Fetch the specified `amount` of elements. If the `ReadStream` has been paused, reading will recommence with the specified `amount` of items, otherwise the specified `amount` will be added to the current stream demand.
      Specified by:
        `fetch` in interface `ReadStream<Buffer>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### resume

          HttpClientResponse resume()

      Description copied from interface: `ReadStream`
      Resume reading, and sets the buffer in `flowing` mode.

      If the `ReadStream` has been paused, reading will recommence on it.
      Specified by:
        `resume` in interface `ReadStream<Buffer>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### exceptionHandler

          HttpClientResponse exceptionHandler(Handler<Throwable> handler)

      Description copied from interface: `ReadStream`
      Set an exception handler on the read stream.
      Specified by:
        `exceptionHandler` in interface `ReadStream<Buffer>`
      Specified by:
        `exceptionHandler` in interface `StreamBase`
      Parameters:
        `handler` - the exception handler
      Returns:
        a reference to this, so the API can be used fluently

    - #### handler

          HttpClientResponse handler(Handler<Buffer> handler)

      Description copied from interface: `ReadStream`
      Set a data handler. As data is read, the handler will be called with the data.
      Specified by:
        `handler` in interface `ReadStream<Buffer>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### pause

          HttpClientResponse pause()

      Description copied from interface: `ReadStream`
      Pause the `ReadStream`, it sets the buffer in `fetch` mode and clears the actual demand.

      While it's paused, no data will be sent to the data `handler`.

      Specified by:
        `pause` in interface `ReadStream<Buffer>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### endHandler

          HttpClientResponse endHandler(Handler<Void> endHandler)

      Description copied from interface: `ReadStream`
      Set an end handler. Once the stream has ended, and there is no more data to be read, this handler will be called.
      Specified by:
        `endHandler` in interface `ReadStream<Buffer>`
      Returns:
        a reference to this, so the API can be used fluently

    - #### version

          HttpVersion version()

      Returns:
        the version of the response

    - #### statusCode

          int statusCode()

      Returns:
        the status code of the response

    - #### statusMessage

          String statusMessage()

      Returns:
        the status message of the response

    - #### headers

          MultiMap headers()

      Returns:
        the headers

    - #### getHeader

          String getHeader(String headerName)

      Return the first header value with the specified name
      Parameters:
        `headerName` - the header name
      Returns:
        the header value

    - #### getHeader

          String getHeader(CharSequence headerName)

      Return the first header value with the specified name
      Parameters:
        `headerName` - the header name
      Returns:
        the header value

    - #### getTrailer

          String getTrailer(String trailerName)

      Return the first trailer value with the specified name
      Parameters:
        `trailerName` - the trailer name
      Returns:
        the trailer value

    - #### trailers

          MultiMap trailers()

      Returns:
        the trailers

    - #### cookies

          List<String> cookies()

      Returns:
        the Set-Cookie headers (including trailers)

    - #### bodyHandler

          HttpClientResponse bodyHandler(Handler<Buffer> bodyHandler)

      Convenience method for receiving the entire request body in one piece.

      This saves you having to manually set a dataHandler and an endHandler and append the chunks of the body until the whole body received. Don't use this if your request body is large - you could potentially run out of RAM.

      Parameters:
        `bodyHandler` - This handler will be called after all the body has been received

    - #### customFrameHandler

          HttpClientResponse customFrameHandler(Handler<HttpFrame> handler)

      Set an custom frame handler. The handler will get notified when the http stream receives an custom HTTP/2 frame. HTTP/2 permits extension of the protocol.
      Returns:
        a reference to this, so the API can be used fluently

    - #### netSocket

          NetSocket netSocket()

      Get a net socket for the underlying connection of this request.

      USE THIS WITH CAUTION! Writing to the socket directly if you don't know what you're doing can easily break the HTTP protocol.

      HTTP/1.1 pipe-lined requests cannot support net socket upgrade.

      One valid use-case for calling this is to receive the `NetSocket` after a HTTP CONNECT was issued to the remote peer and it responded with a status code of 200.

      Returns:
        the net socket

    - #### request

          HttpClientRequest request()

      Returns:
        the corresponding request

    - #### streamPriorityHandler

          HttpClientResponse streamPriorityHandler(Handler<StreamPriority> handler)

      Set an handler for stream priority changes.

      This is not implemented for HTTP/1.x.
      Parameters:
        `handler` - the handler to be called when the stream priority changes

Copyright © 2019 Eclipse. All rights reserved.