private static <T> T createProxyWithFailover( Optional<TrustContext> trustContext, Optional<ProxySelector> proxySelector, Collection<String> endpointUris, Request.Options feignOptions, int maxBackoffMillis, Class<T> type, String userAgent) { FailoverFeignTarget<T> failoverFeignTarget = new FailoverFeignTarget<>(endpointUris, maxBackoffMillis, type); Client client = failoverFeignTarget.wrapClient( FeignOkHttpClients.newRefreshingOkHttpClient(trustContext, proxySelector, userAgent)); return Feign.builder() .contract(contract) .encoder(encoder) .decoder(decoder) .errorDecoder(errorDecoder) .client(client) .retryer(failoverFeignTarget) .options(feignOptions) .target(failoverFeignTarget); }
private static <T> T createProxyWithFailover( Optional<TrustContext> trustContext, Optional<ProxySelector> proxySelector, Collection<String> endpointUris, Request.Options feignOptions, int maxBackoffMillis, Class<T> type, String userAgent) { FailoverFeignTarget<T> failoverFeignTarget = new FailoverFeignTarget<>(endpointUris, maxBackoffMillis, type); Client client = failoverFeignTarget.wrapClient( FeignOkHttpClients.newRefreshingOkHttpClient(trustContext, proxySelector, userAgent)); return Feign.builder() .contract(contract) .encoder(encoder) .decoder(decoder) .errorDecoder(errorDecoder) .client(client) .retryer(failoverFeignTarget) .options(feignOptions) .target(failoverFeignTarget); }