Class NetHttpTransport.Builder

  • Enclosing class:
    NetHttpTransport

    public static final class NetHttpTransport.Builder
    extends java.lang.Object
    Builder for NetHttpTransport.

    Implementation is not thread-safe.

    Since:
    1.13
    • Field Detail

      • sslSocketFactory

        private javax.net.ssl.SSLSocketFactory sslSocketFactory
        SSL socket factory or null for the default.
      • hostnameVerifier

        private javax.net.ssl.HostnameVerifier hostnameVerifier
        Host name verifier or null for the default.
      • proxy

        private java.net.Proxy proxy
        HTTP proxy or null to use the proxy settings from system properties.
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • setProxy

        public NetHttpTransport.Builder setProxy​(java.net.Proxy proxy)
        Sets the HTTP proxy or null to use the proxy settings from system properties.

        For example:

               setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 8080)))
         
      • trustCertificatesFromJavaKeyStore

        public NetHttpTransport.Builder trustCertificatesFromJavaKeyStore​(java.io.InputStream keyStoreStream,
                                                                          java.lang.String storePass)
                                                                   throws java.security.GeneralSecurityException,
                                                                          java.io.IOException
        Sets the SSL socket factory based on root certificates in a Java KeyStore.

        Example usage:

            trustCertificatesFromJavaKeyStore(new FileInputStream("certs.jks"), "password");
         
        Parameters:
        keyStoreStream - input stream to the key store (closed at the end of this method in a finally block)
        storePass - password protecting the key store file
        Throws:
        java.security.GeneralSecurityException
        java.io.IOException
        Since:
        1.14
      • trustCertificatesFromStream

        public NetHttpTransport.Builder trustCertificatesFromStream​(java.io.InputStream certificateStream)
                                                             throws java.security.GeneralSecurityException,
                                                                    java.io.IOException
        Sets the SSL socket factory based root certificates generated from the specified stream using CertificateFactory.generateCertificates(InputStream).

        Example usage:

            trustCertificatesFromStream(new FileInputStream("certs.pem"));
         
        Parameters:
        certificateStream - certificate stream
        Throws:
        java.security.GeneralSecurityException
        java.io.IOException
        Since:
        1.14
      • doNotValidateCertificate

        @Beta
        public NetHttpTransport.Builder doNotValidateCertificate()
                                                          throws java.security.GeneralSecurityException
        Beta
        Disables validating server SSL certificates by setting the SSL socket factory using SslUtils.trustAllSSLContext() for the SSL context and SslUtils.trustAllHostnameVerifier() for the host name verifier.

        Be careful! Disabling certificate validation is dangerous and should only be done in testing environments.

        Throws:
        java.security.GeneralSecurityException
      • getSslSocketFactory

        public javax.net.ssl.SSLSocketFactory getSslSocketFactory()
        Returns the SSL socket factory.
      • setSslSocketFactory

        public NetHttpTransport.Builder setSslSocketFactory​(javax.net.ssl.SSLSocketFactory sslSocketFactory)
        Sets the SSL socket factory or null for the default.
      • getHostnameVerifier

        public javax.net.ssl.HostnameVerifier getHostnameVerifier()
        Returns the host name verifier or null for the default.
      • setHostnameVerifier

        public NetHttpTransport.Builder setHostnameVerifier​(javax.net.ssl.HostnameVerifier hostnameVerifier)
        Sets the host name verifier or null for the default.