diff --git a/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatAuthenticationConfig.java b/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatAuthenticationConfig.java index e40b86262..ef4529930 100644 --- a/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatAuthenticationConfig.java +++ b/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatAuthenticationConfig.java @@ -42,6 +42,8 @@ import retrofit.client.OkClient; import retrofit.converter.JacksonConverter; +import java.util.concurrent.TimeUnit; + @Slf4j @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) @@ -66,6 +68,14 @@ public FiatService fiatService(FiatClientConfigurationProperties fiatConfigurati OkHttpClient okHttpClient = okHttpClientConfiguration.create(); + if (fiatConfigurationProperties.getConnectTimeoutMs() != null) { + okHttpClient.setConnectTimeout(fiatConfigurationProperties.getConnectTimeoutMs(), TimeUnit.MILLISECONDS); + } + + if (fiatConfigurationProperties.getReadTimeoutMs() != null) { + okHttpClient.setConnectTimeout(fiatConfigurationProperties.getReadTimeoutMs(), TimeUnit.MILLISECONDS); + } + return new RestAdapter.Builder() .setEndpoint(Endpoints.newFixedEndpoint(fiatConfigurationProperties.getBaseUrl())) .setRequestInterceptor(interceptor) diff --git a/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatClientConfigurationProperties.java b/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatClientConfigurationProperties.java index 5541562a3..e577ecf3d 100644 --- a/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatClientConfigurationProperties.java +++ b/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatClientConfigurationProperties.java @@ -36,6 +36,10 @@ public class FiatClientConfigurationProperties { private boolean refreshable = true; + private Integer connectTimeoutMs; + + private Integer readTimeoutMs; + @NestedConfigurationProperty private PermissionsCache cache = new PermissionsCache(); @@ -70,7 +74,7 @@ public long getMaxBackoffMillis() { return maxBackoffMillis; } - return dynamicConfigService.getConfig(Long.class, "fiat.retry.maxBackoffMills", maxBackoffMillis); + return dynamicConfigService.getConfig(Long.class, "fiat.retry.maxBackoffMillis", maxBackoffMillis); } public long getInitialBackoffMillis() {