diff options
Diffstat (limited to 'service-monitor/src/main/java/com/yahoo/vespa/service/health/HttpsHealthEndpoint.java')
-rw-r--r-- | service-monitor/src/main/java/com/yahoo/vespa/service/health/HttpsHealthEndpoint.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/service-monitor/src/main/java/com/yahoo/vespa/service/health/HttpsHealthEndpoint.java b/service-monitor/src/main/java/com/yahoo/vespa/service/health/HttpsHealthEndpoint.java new file mode 100644 index 00000000000..42e408256c5 --- /dev/null +++ b/service-monitor/src/main/java/com/yahoo/vespa/service/health/HttpsHealthEndpoint.java @@ -0,0 +1,42 @@ +// Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.service.health; + +import com.yahoo.vespa.athenz.identity.ServiceIdentityProvider; +import com.yahoo.vespa.athenz.identity.ServiceIdentitySslSocketFactory; +import org.apache.http.conn.socket.ConnectionSocketFactory; +import org.apache.http.conn.ssl.SSLConnectionSocketFactory; + +import javax.net.ssl.HostnameVerifier; +import java.net.URL; + +/** + * @author hakon + */ +public class HttpsHealthEndpoint implements HealthEndpoint { + private final URL url; + private final HostnameVerifier hostnameVerifier; + private final ServiceIdentityProvider serviceIdentityProvider; + + HttpsHealthEndpoint(URL url, + ServiceIdentityProvider serviceIdentityProvider, + HostnameVerifier hostnameVerifier) { + this.url = url; + this.serviceIdentityProvider = serviceIdentityProvider; + this.hostnameVerifier = hostnameVerifier; + } + + @Override + public URL getStateV1HealthUrl() { + return url; + } + + @Override + public ConnectionSocketFactory getConnectionSocketFactory() { + return new SSLConnectionSocketFactory(new ServiceIdentitySslSocketFactory(serviceIdentityProvider), hostnameVerifier); + } + + @Override + public String description() { + return url.toString(); + } +} |