Class ApacheHttpTransport

    • Constructor Detail

      • ApacheHttpTransport

        public ApacheHttpTransport​(org.apache.http.client.HttpClient httpClient)
        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 Detail

      • newDefaultHttpClient

        public static org.apache.http.impl.client.DefaultHttpClient newDefaultHttpClient()
        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).
        • 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
      • supportsMethod

        public boolean supportsMethod​(String method)
        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 com.google.api.client.http.apache.ApacheHttpRequest buildRequest​(String method,
                                                                                   String url)
        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()
        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()
        Returns the Apache HTTP client.
        Since:
        1.5