in src/main/java/com/spotify/ffwd/http/HttpDiscovery.java [41:70]
LoadBalancerBuilder<Server> apply(
LoadBalancerBuilder<Server> builder, String searchDomain
);
@JsonTypeName("static")
@Data
class Static implements HttpDiscovery {
private final List<HostAndPort> servers;
@Override
public LoadBalancerBuilder<Server> apply(
final LoadBalancerBuilder<Server> builder, final String searchDomain
) {
final List<Server> out = new ArrayList<>();
for (final HostAndPort hostAndPort : this.servers) {
final HostAndPort modified = hostAndPort.withOptionalSearchDomain(searchDomain);
out.add(new Server(modified.getHost(), modified.getPort()));
}
return builder.withDynamicServerList(new StaticServerList(out));
}
/**
* Default implementation for http discovery when nothing else is configured.
*/
static HttpDiscovery supplyDefault() {
return new HttpDiscovery.Static(Collections.singletonList(DEFAULT_SERVER));
}
}