Class ApacheHttpTransport

java.lang.Object
com.google.api.client.http.HttpTransport
com.google.api.client.http.apache.ApacheHttpTransport

@Deprecated public final class ApacheHttpTransport extends HttpTransport
Deprecated.
Please use com.google.api.client.http.apache.v2.ApacheHttpTransport provided by the com.google.http-client:google-http-client-apache-v2 artifact.
Thread-safe HTTP transport based on the Apache HTTP Client library.

Implementation is thread-safe, as long as any parameter modification to the Apache HTTP Client is only done at initialization time. For maximum efficiency, applications should use a single globally-shared instance of the HTTP transport.

Default settings are specified in newDefaultHttpClient(). Use the ApacheHttpTransport(HttpClient) constructor to override the Apache HTTP Client used. Alternatively, use ApacheHttpTransport() and change the getHttpClient(). Please read the Apache HTTP Client connection management tutorial for more complex configuration options.

Since:
1.0
  • Field Details

    • httpClient

      private final org.apache.http.client.HttpClient httpClient
      Deprecated.
      Apache HTTP client.
  • Constructor Details

    • ApacheHttpTransport

      public ApacheHttpTransport()
      Deprecated.
      Constructor that uses newDefaultHttpClient() for the Apache HTTP client.

      Use ApacheHttpTransport.Builder to modify HTTP client options.

      Since:
      1.3
    • ApacheHttpTransport

      public ApacheHttpTransport(org.apache.http.client.HttpClient httpClient)
      Deprecated.
      Constructor that allows an alternative Apache HTTP client to be used.

      Note that a few settings are overridden:

      • HTTP version is set to 1.1 using HttpProtocolParams.setVersion(org.apache.http.params.HttpParams, org.apache.http.ProtocolVersion) with HttpVersion.HTTP_1_1.
      • Redirects are disabled using ClientPNames.HANDLE_REDIRECTS.
      • ConnManagerParams.setTimeout(org.apache.http.params.HttpParams, long) and HttpConnectionParams.setConnectionTimeout(org.apache.http.params.HttpParams, int) are set on each request based on HttpRequest.getConnectTimeout().
      • HttpConnectionParams.setSoTimeout(org.apache.http.params.HttpParams, int) is set on each request based on HttpRequest.getReadTimeout().

      Use ApacheHttpTransport.Builder for a more user-friendly way to modify the HTTP client options.

      Parameters:
      httpClient - Apache HTTP client to use
      Since:
      1.6
  • Method Details

    • newDefaultHttpClient

      public static org.apache.http.impl.client.DefaultHttpClient newDefaultHttpClient()
      Deprecated.
      Creates a new instance of the Apache HTTP client that is used by the ApacheHttpTransport() constructor.

      Use this constructor if you want to customize the default Apache HTTP client. Settings:

      • The client connection manager is set to ThreadSafeClientConnManager.
      • The socket buffer size is set to 8192 using HttpConnectionParams.setSocketBufferSize(org.apache.http.params.HttpParams, int).
      • invalid input: '<'The retry mechanism is turned off by setting new DefaultHttpRequestRetryHandler(0, false).
      • The route planner uses ProxySelectorRoutePlanner with ProxySelector.getDefault(), which uses the proxy settings from system properties.
      Returns:
      new instance of the Apache HTTP client
      Since:
      1.6
    • newDefaultHttpParams

      static org.apache.http.params.HttpParams newDefaultHttpParams()
      Deprecated.
      Returns a new instance of the default HTTP parameters we use.
    • newDefaultHttpClient

      static org.apache.http.impl.client.DefaultHttpClient newDefaultHttpClient(org.apache.http.conn.ssl.SSLSocketFactory socketFactory, org.apache.http.params.HttpParams params, ProxySelector proxySelector)
      Deprecated.
      Creates a new instance of the Apache HTTP client that is used by the ApacheHttpTransport() constructor.
      Parameters:
      socketFactory - SSL socket factory
      params - HTTP parameters
      proxySelector - HTTP proxy selector to use ProxySelectorRoutePlanner or null for DefaultHttpRoutePlanner
      Returns:
      new instance of the Apache HTTP client
    • supportsMethod

      public boolean supportsMethod(String method)
      Deprecated.
      Description copied from class: HttpTransport
      Returns whether a specified HTTP method is supported by this transport.

      Default implementation returns true if and only if the request method is "DELETE", "GET", "POST", or "PUT". Subclasses should override.

      Overrides:
      supportsMethod in class HttpTransport
      Parameters:
      method - HTTP method
    • buildRequest

      protected ApacheHttpRequest buildRequest(String method, String url)
      Deprecated.
      Description copied from class: HttpTransport
      Builds a low level HTTP request for the given HTTP method.
      Specified by:
      buildRequest in class HttpTransport
      Parameters:
      method - HTTP method
      url - URL
      Returns:
      new low level HTTP request
    • shutdown

      public void shutdown()
      Deprecated.
      Shuts down the connection manager and releases allocated resources. This includes closing all connections, whether they are currently used or not.
      Overrides:
      shutdown in class HttpTransport
      Since:
      1.4
    • getHttpClient

      public org.apache.http.client.HttpClient getHttpClient()
      Deprecated.
      Returns the Apache HTTP client.
      Since:
      1.5