Interface Response

    • Method Detail

      • getStatusCode

        int getStatusCode()
        Returns the status code for the request.
        Returns:
        The status code
      • getStatusText

        String getStatusText()
        Returns the status text for the request.
        Returns:
        The status text
      • getResponseBodyAsBytes

        byte[] getResponseBodyAsBytes()
        Return the entire response body as a byte[].
        Returns:
        the entire response body as a byte[].
      • getResponseBodyAsBytesView

        default byte[] getResponseBodyAsBytesView()
        Returns the entire response body as a byte array whose storage the implementation may share with whatever else holds the body.

        The returned array must be treated as read-only, and the response is not its only holder. Where it is a body part's own array, it is the array reachable from the part handed to AsyncHandler.onBodyPartReceived(org.asynchttpclient.HttpResponseBodyPart), the one each TransferListener is given by a TransferCompletionHandler, the one HttpResponseBodyPart.getBodyByteBuffer() wraps for a ResumableListener, and the one getResponseBodyAsByteBuf() wraps. Writing to it changes what all of those see, and a write through any of them changes what this returns.

        Whether anything is shared at all is not something to rely on. It depends on how the body happened to arrive - how the origin chunked it, whether a proxy re-chunked it, whether it was compressed - on how the client happened to read it off the wire, which varies with connection age and client configuration, and on the body parts the implementation was given. The same body from the same server may be shared on one response and copied on the next. Which of the two a caller gets is the peer's choice rather than the caller's, so code that writes to the array can behave one way against a friendly server and another way against a hostile one. No array identity is guaranteed between calls either.

        A caller that needs an array it may modify should copy what it receives. getResponseBodyAsBytes() is the accessor to reach for first, but it is implemented by whoever implements this interface, so read its contract rather than assuming it hands over an array of its own.

        Implementation note: the default implementation of this method returns getResponseBodyAsBytes(). An implementation that leaves that default in place must not implement getResponseBodyAsBytes() in terms of this method, or the two call each other. Overriding both is fine.

        Returns:
        the entire response body, possibly sharing storage with the response
      • getResponseBodyAsByteBuffer

        ByteBuffer getResponseBodyAsByteBuffer()
        Return the entire response body as a ByteBuffer.
        Returns:
        the entire response body as a ByteBuffer.
      • getResponseBodyAsByteBuf

        io.netty.buffer.ByteBuf getResponseBodyAsByteBuf()
        Return the entire response body as a ByteBuf.
        Returns:
        the entire response body as a ByteBuf.
      • getResponseBodyAsStream

        InputStream getResponseBodyAsStream()
        Returns an input stream for the response body. Note that you should not try to get this more than once, and that you should not close the stream.
        Returns:
        The input stream
      • getResponseBody

        String getResponseBody​(Charset charset)
        Return the entire response body as a String.
        Parameters:
        charset - the charset to use when decoding the stream
        Returns:
        the entire response body as a String.
      • getResponseBody

        String getResponseBody()
        Return the entire response body as a String.
        Returns:
        the entire response body as a String.
      • getUri

        Uri getUri()
        Return the request Uri. Note that if the request got redirected, the value of the Uri will be the last valid redirect url.
        Returns:
        the request Uri.
      • getContentType

        String getContentType()
        Return the content-type header value.
        Returns:
        the content-type header value.
      • getHeader

        String getHeader​(CharSequence name)
        Parameters:
        name - the header name
        Returns:
        the first response header value
      • getHeaders

        List<String> getHeaders​(CharSequence name)
        Return a List of the response header value.
        Parameters:
        name - the header name
        Returns:
        the response header value
      • getHeaders

        io.netty.handler.codec.http.HttpHeaders getHeaders()
      • isRedirected

        boolean isRedirected()
        Return true if the response redirects to another object.
        Returns:
        True if the response redirects to another object.
      • toString

        String toString()
        Subclasses SHOULD implement toString() in a way that identifies the response for logging.
        Overrides:
        toString in class Object
        Returns:
        the textual representation
      • getCookies

        List<io.netty.handler.codec.http.cookie.Cookie> getCookies()
        Returns:
        the list of Cookie.
      • hasResponseStatus

        boolean hasResponseStatus()
        Return true if the response's status has been computed by an AsyncHandler
        Returns:
        true if the response's status has been computed by an AsyncHandler
      • getRemoteAddress

        SocketAddress getRemoteAddress()
        Get the remote address that the client initiated the request to.
        Returns:
        The remote address that the client initiated the request to. May be null if asynchronous provider is unable to provide the remote address
      • getLocalAddress

        SocketAddress getLocalAddress()
        Get the local address that the client initiated the request from.
        Returns:
        The local address that the client initiated the request from. May be null if asynchronous provider is unable to provide the local address