Class HttpMethodCall


  • public class HttpMethodCall
    extends ClientCall
    HTTP client connector call based on Apache HTTP Client's HttpMethod class.
    • Field Detail

      • clientHelper

        private volatile HttpClientHelper clientHelper
        The associated HTTP client.
      • httpRequest

        private volatile org.apache.http.client.methods.HttpUriRequest httpRequest
        The wrapped HTTP request.
      • httpResponse

        private volatile org.apache.http.HttpResponse httpResponse
        The wrapped HTTP response.
      • responseHeadersAdded

        private volatile boolean responseHeadersAdded
        Indicates if the response headers were added.
    • Constructor Detail

      • HttpMethodCall

        public HttpMethodCall​(HttpClientHelper helper,
                              java.lang.String method,
                              java.lang.String requestUri,
                              boolean hasEntity)
                       throws java.io.IOException
        Constructor.
        Parameters:
        helper - The parent HTTP client helper.
        method - The method name.
        requestUri - The request URI.
        hasEntity - Indicates if the call will have an entity to send to the server.
        Throws:
        java.io.IOException
    • Method Detail

      • getHttpRequest

        public org.apache.http.client.methods.HttpUriRequest getHttpRequest()
        Returns the HTTP request.
        Returns:
        The HTTP request.
      • getHttpResponse

        public org.apache.http.HttpResponse getHttpResponse()
        Returns the HTTP response.
        Returns:
        The HTTP response.
      • getReasonPhrase

        public java.lang.String getReasonPhrase()
        Returns the response reason phrase.
        Overrides:
        getReasonPhrase in class Call
        Returns:
        The response reason phrase.
      • getRequestEntityChannel

        public java.nio.channels.WritableByteChannel getRequestEntityChannel()
        Description copied from class: ClientCall
        Returns the request entity channel if it exists.
        Specified by:
        getRequestEntityChannel in class ClientCall
        Returns:
        The request entity channel if it exists.
      • getRequestEntityStream

        public java.io.OutputStream getRequestEntityStream()
        Description copied from class: ClientCall
        Returns the request entity stream if it exists.
        Specified by:
        getRequestEntityStream in class ClientCall
        Returns:
        The request entity stream if it exists.
      • getRequestHeadStream

        public java.io.OutputStream getRequestHeadStream()
        Description copied from class: ClientCall
        Returns the request head stream if it exists.
        Specified by:
        getRequestHeadStream in class ClientCall
        Returns:
        The request head stream if it exists.
      • getResponseEntityChannel

        public java.nio.channels.ReadableByteChannel getResponseEntityChannel​(long size)
        Description copied from class: ClientCall
        Returns the response channel if it exists.
        Specified by:
        getResponseEntityChannel in class ClientCall
        Parameters:
        size - The expected entity size or -1 if unknown.
        Returns:
        The response channel if it exists.
      • getResponseEntityStream

        public java.io.InputStream getResponseEntityStream​(long size)
        Description copied from class: ClientCall
        Returns the response entity stream if it exists.
        Specified by:
        getResponseEntityStream in class ClientCall
        Parameters:
        size - The expected entity size or -1 if unknown.
        Returns:
        The response entity stream if it exists.
      • getResponseHeaders

        public Series<Header> getResponseHeaders()
        Returns the modifiable list of response headers.
        Overrides:
        getResponseHeaders in class Call
        Returns:
        The modifiable list of response headers.
      • getServerAddress

        public java.lang.String getServerAddress()
        Returns the response address.
        Corresponds to the IP address of the responding server.
        Overrides:
        getServerAddress in class Call
        Returns:
        The response address.
      • getStatusCode

        public int getStatusCode()
        Returns the response status code.
        Overrides:
        getStatusCode in class Call
        Returns:
        The response status code.
      • sendRequest

        public Status sendRequest​(Request request)
        Sends the request to the client. Commits the request line, headers and optional entity and send them over the network.
        Overrides:
        sendRequest in class ClientCall
        Parameters:
        request - The high-level request.
        Returns:
        The result status.
      • sendRequest

        public void sendRequest​(Request request,
                                Response response,
                                Uniform callback)
                         throws java.lang.Exception
        Description copied from class: ClientCall
        Sends the request to the client. Commits the request line, headers and optional entity and send them over the network.
        Overrides:
        sendRequest in class ClientCall
        Parameters:
        request - The high-level request.
        response - The high-level response.
        callback - The callback invoked upon request completion.
        Throws:
        java.lang.Exception