diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClient.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClient.java index 817b119c..bd625b34 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClient.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClient.java @@ -16,11 +16,13 @@ package org.springframework.cloud.netflix.eureka; +import java.net.URI; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.discovery.DiscoveryClient; @@ -63,6 +65,16 @@ public class EurekaDiscoveryClient implements DiscoveryClient { public int getPort() { return EurekaDiscoveryClient.this.config.getNonSecurePort(); } + + @Override + public boolean isSecure() { + return EurekaDiscoveryClient.this.config.getSecurePortEnabled(); + } + + @Override + public URI getUri() { + return DefaultServiceInstance.getUri(this); + } }; } @@ -98,6 +110,16 @@ public class EurekaDiscoveryClient implements DiscoveryClient { public int getPort() { return this.instance.getPort(); } + + @Override + public boolean isSecure() { + return this.instance.isPortEnabled(InstanceInfo.PortType.SECURE); + } + + @Override + public URI getUri() { + return DefaultServiceInstance.getUri(this); + } } @Override diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonLoadBalancerClient.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonLoadBalancerClient.java index 875dacee..9faf297b 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonLoadBalancerClient.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/ribbon/RibbonLoadBalancerClient.java @@ -19,6 +19,7 @@ package org.springframework.cloud.netflix.ribbon; import java.net.URI; import java.util.concurrent.TimeUnit; +import org.springframework.cloud.client.DefaultServiceInstance; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client.loadbalancer.LoadBalancerClient; import org.springframework.cloud.client.loadbalancer.LoadBalancerRequest; @@ -127,6 +128,16 @@ public class RibbonLoadBalancerClient implements LoadBalancerClient { return this.server.getPort(); } + @Override + public boolean isSecure() { + return false; //TODO: howto determine https from ribbon Server + } + + @Override + public URI getUri() { + return DefaultServiceInstance.getUri(this); + } + public Server getServer() { return this.server; }