类 HttpClient

java.lang.Object
com.baidu.mochow.http.HttpClient

@ThreadSafe public class HttpClient extends Object
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    Client configuration options, such as proxy settings, max retries, etc.
    protected org.apache.http.impl.nio.client.CloseableHttpAsyncClient
    Internal async client for sending HTTP requests
    protected org.apache.http.impl.client.CloseableHttpClient
    Internal client for sending HTTP requests
    protected Signer
     
  • 构造器概要

    构造器
    构造器
    说明
    Constructs a new Mochow client using the specified client configuration options (ex: max retry attempts, proxy settings, etc), and request metric collector.
    HttpClient(ClientConfiguration config, Signer signer, boolean isHttpAsyncPutEnabled)
    Constructs a new Mochow Http Client with httpAsyncPutEnabled.
  • 方法概要

    修饰符和类型
    方法
    说明
    protected org.apache.http.impl.nio.client.CloseableHttpAsyncClient
    createHttpAsyncClient(org.apache.http.nio.conn.NHttpClientConnectionManager connectionManager)
    Create asynchronous http client based on connection manager.
    protected org.apache.http.client.protocol.HttpClientContext
    Creates HttpClient Context object based on the internal request.
    protected org.apache.http.client.methods.HttpRequestBase
    Creates HttpClient method object based on the specified request and populates any parameters, headers, etc. from the internal request.
    protected org.apache.http.nio.conn.NHttpClientConnectionManager
    Create connection manager for asynchronous http client.
    execute(InternalRequest request, Class<T> responseClass, HttpResponseHandler[] responseHandlers)
    Executes the request and returns the result.
    protected long
    getDelayBeforeNextRetryInMillis(org.apache.http.client.methods.HttpRequestBase method, MochowClientException exception, int attempt, RetryPolicy retryPolicy)
    Get delay time before next retry.
    void
    Shuts down this HTTP client object, releasing any resources that might be held open.
    void
    The difference between shutdown() is that releasing all resources including nio and idle.

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 字段详细资料

    • httpClient

      protected org.apache.http.impl.client.CloseableHttpClient httpClient
      Internal client for sending HTTP requests
    • httpAsyncClient

      protected org.apache.http.impl.nio.client.CloseableHttpAsyncClient httpAsyncClient
      Internal async client for sending HTTP requests
    • config

      protected ClientConfiguration config
      Client configuration options, such as proxy settings, max retries, etc.
    • signer

      protected Signer signer
  • 构造器详细资料

    • HttpClient

      public HttpClient(ClientConfiguration config, Signer signer)
      Constructs a new Mochow client using the specified client configuration options (ex: max retry attempts, proxy settings, etc), and request metric collector.
      参数:
      config - Configuration options specifying how this client will communicate with Mochow (ex: proxy settings, retry count, etc.).
      signer - signer used to sign http requests
      抛出:
      IllegalArgumentException - If config or signer is null.
    • HttpClient

      public HttpClient(ClientConfiguration config, Signer signer, boolean isHttpAsyncPutEnabled)
      Constructs a new Mochow Http Client with httpAsyncPutEnabled.
      参数:
      config - Configuration options specifying how this client will communicate with Mochow (ex: proxy settings, retry count, etc.).
      signer - signer used to sign http requests
      isHttpAsyncPutEnabled - whether use Async for PUT method.
  • 方法详细资料

    • execute

      public <T extends AbstractMochowResponse> T execute(InternalRequest request, Class<T> responseClass, HttpResponseHandler[] responseHandlers)
      Executes the request and returns the result.
      类型参数:
      T - The type of response
      参数:
      request - The Mochow request to send to the remote server
      responseClass - A response handler to accept a successful response from the remote server
      responseHandlers - A response handler to accept an unsuccessful response from the remote server
      返回:
      The response from the remote server
      抛出:
      MochowClientException - If any errors are encountered on the client while making the request or handling the response.
      MochowServiceException - If any errors occurred in Mochow while processing the request.
    • shutdown

      public void shutdown()
      Shuts down this HTTP client object, releasing any resources that might be held open. This is an optional method, and callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client has been shutdown, it cannot be used to make more requests.
    • shutdownClean

      public void shutdownClean()
      The difference between shutdown() is that releasing all resources including nio and idle.
    • getDelayBeforeNextRetryInMillis

      protected long getDelayBeforeNextRetryInMillis(org.apache.http.client.methods.HttpRequestBase method, MochowClientException exception, int attempt, RetryPolicy retryPolicy)
      Get delay time before next retry.
      参数:
      method - The current HTTP method being executed.
      exception - The client/service exception from the failed request.
      attempt - The number of times the current request has been attempted.
      retryPolicy - The retryPolicy being used.
      返回:
      The deley time before next retry.
    • createNHttpClientConnectionManager

      protected org.apache.http.nio.conn.NHttpClientConnectionManager createNHttpClientConnectionManager() throws org.apache.http.nio.reactor.IOReactorException
      Create connection manager for asynchronous http client.
      返回:
      Connection manager for asynchronous http client.
      抛出:
      org.apache.http.nio.reactor.IOReactorException - in case if a non-recoverable I/O error.
    • createHttpAsyncClient

      protected org.apache.http.impl.nio.client.CloseableHttpAsyncClient createHttpAsyncClient(org.apache.http.nio.conn.NHttpClientConnectionManager connectionManager)
      Create asynchronous http client based on connection manager.
      参数:
      connectionManager - Asynchronous http client connection manager.
      返回:
      Asynchronous http client based on connection manager.
    • createHttpRequest

      protected org.apache.http.client.methods.HttpRequestBase createHttpRequest(InternalRequest request)
      Creates HttpClient method object based on the specified request and populates any parameters, headers, etc. from the internal request.
      参数:
      request - The request to convert to an HttpClient method object.
      返回:
      The converted HttpClient method object with any parameters, headers, etc. from the original request set.
    • createHttpContext

      protected org.apache.http.client.protocol.HttpClientContext createHttpContext(InternalRequest request)
      Creates HttpClient Context object based on the internal request.
      参数:
      request - The internal request.
      返回:
      HttpClient Context object.