Repository: jclouds-labs Updated Branches: refs/heads/master 00500cbf2 -> b1aebb7bf
[JCLOUDS-898] Allow insecure connection in Docker. Original author was @andreaturli and the original patch was #172. Project: http://git-wip-us.apache.org/repos/asf/jclouds-labs/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds-labs/commit/b1aebb7b Tree: http://git-wip-us.apache.org/repos/asf/jclouds-labs/tree/b1aebb7b Diff: http://git-wip-us.apache.org/repos/asf/jclouds-labs/diff/b1aebb7b Branch: refs/heads/master Commit: b1aebb7bf015cfa5e20625d4207e5d19d71503e9 Parents: 00500cb Author: Ignasi Barrera <[email protected]> Authored: Fri Aug 14 10:44:06 2015 +0200 Committer: Ignasi Barrera <[email protected]> Committed: Fri Aug 14 10:56:07 2015 +0200 ---------------------------------------------------------------------- .../docker/config/DockerOkHttpClientSupplier.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds-labs/blob/b1aebb7b/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java ---------------------------------------------------------------------- diff --git a/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java b/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java index 6bc171f..f9278f0 100644 --- a/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java +++ b/docker/src/main/java/org/jclouds/docker/config/DockerOkHttpClientSupplier.java @@ -16,12 +16,17 @@ */ package org.jclouds.docker.config; +import java.io.File; + import javax.inject.Inject; import javax.inject.Singleton; import org.jclouds.docker.suppliers.DockerSSLContextSupplier; +import org.jclouds.domain.Credentials; import org.jclouds.http.okhttp.OkHttpClientSupplier; +import org.jclouds.location.Provider; +import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; import com.squareup.okhttp.ConnectionSpec; import com.squareup.okhttp.OkHttpClient; @@ -31,10 +36,12 @@ import com.squareup.okhttp.TlsVersion; public class DockerOkHttpClientSupplier implements OkHttpClientSupplier { private final DockerSSLContextSupplier dockerSSLContextSupplier; + private final Supplier<Credentials> creds; @Inject - DockerOkHttpClientSupplier(DockerSSLContextSupplier dockerSSLContextSupplier) { + DockerOkHttpClientSupplier(DockerSSLContextSupplier dockerSSLContextSupplier, @Provider Supplier<Credentials> creds) { this.dockerSSLContextSupplier = dockerSSLContextSupplier; + this.creds = creds; } @Override @@ -46,7 +53,10 @@ public class DockerOkHttpClientSupplier implements OkHttpClientSupplier { ConnectionSpec cleartextSpec = new ConnectionSpec.Builder(ConnectionSpec.CLEARTEXT) .build(); client.setConnectionSpecs(ImmutableList.of(tlsSpec, cleartextSpec)); - client.setSslSocketFactory(dockerSSLContextSupplier.get().getSocketFactory()); + // check if identity and credential are files, to set up sslContext + if (new File(creds.get().identity).isFile() && new File(creds.get().credential).isFile()) { + client.setSslSocketFactory(dockerSSLContextSupplier.get().getSocketFactory()); + } return client; }
