private DefaultClientTlsStrategy buildImpl()

in httpclient5/src/main/java/org/apache/hc/client5/http/ssl/ClientTlsStrategyBuilder.java [208:239]


    private DefaultClientTlsStrategy buildImpl() {
        final SSLContext sslContextCopy;
        if (sslContext != null) {
            sslContextCopy = sslContext;
        } else {
            sslContextCopy = systemProperties ? SSLContexts.createSystemDefault() : SSLContexts.createDefault();
        }
        final String[] tlsVersionsCopy;
        if (tlsVersions != null) {
            tlsVersionsCopy = tlsVersions;
        } else {
            tlsVersionsCopy = systemProperties ? HttpsSupport.getSystemProtocols() : null;
        }
        final String[] ciphersCopy;
        if (ciphers != null) {
            ciphersCopy = ciphers;
        } else {
            ciphersCopy = systemProperties ? HttpsSupport.getSystemCipherSuits() : null;
        }
        final HostnameVerificationPolicy hostnameVerificationPolicyCopy = hostnameVerificationPolicy != null ? hostnameVerificationPolicy :
                (hostnameVerifier == null ? HostnameVerificationPolicy.BUILTIN : HostnameVerificationPolicy.BOTH);
        final HostnameVerifier hostnameVerifierCopy = hostnameVerifier != null ? hostnameVerifier :
                (hostnameVerificationPolicyCopy == HostnameVerificationPolicy.CLIENT || hostnameVerificationPolicyCopy == HostnameVerificationPolicy.BOTH ?
                        HttpsSupport.getDefaultHostnameVerifier() : NoopHostnameVerifier.INSTANCE);
        return new DefaultClientTlsStrategy(
                sslContextCopy,
                tlsVersionsCopy,
                ciphersCopy,
                sslBufferMode != null ? sslBufferMode : SSLBufferMode.STATIC,
                hostnameVerificationPolicyCopy,
                hostnameVerifierCopy);
    }