org.zalando.putittorest.RestSettings Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of put-it-to-rest Show documentation
Show all versions of put-it-to-rest Show documentation
Spring Boot REST Client Auto Configuration
package org.zalando.putittorest;
import lombok.Getter;
import lombok.Setter;
import java.net.URI;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import static java.util.concurrent.TimeUnit.SECONDS;
@Getter
@Setter
public final class RestSettings {
private final Defaults defaults = new Defaults();
private final GlobalOAuth oauth = new GlobalOAuth();
private final Map clients = new LinkedHashMap<>();
@Getter
@Setter
public static final class Defaults {
private TimeSpan connectionTimeout = TimeSpan.of(5, SECONDS);
private TimeSpan socketTimeout = TimeSpan.of(5, SECONDS);
private TimeSpan connectionTimeToLive = TimeSpan.of(30, SECONDS);
private int maxConnectionsPerRoute = 2;
private int maxConnectionsTotal = 20;
}
@Getter
@Setter
public static final class GlobalOAuth {
private URI accessTokenUrl;
private TimeSpan schedulingPeriod = TimeSpan.of(5, SECONDS);
private TimeSpan connectionTimeout = TimeSpan.of(1, SECONDS);
private TimeSpan socketTimeout = TimeSpan.of(2, SECONDS);
}
@Getter
@Setter
public static final class Client {
private String baseUrl;
private TimeSpan connectionTimeout;
private TimeSpan socketTimeout;
private TimeSpan connectionTimeToLive;
private int maxConnectionsPerRoute;
private int maxConnectionsTotal;
private OAuth oauth;
private boolean compressRequest = false;
private Keystore keystore;
}
@Getter
@Setter
public static final class OAuth {
private final List scopes = new ArrayList<>();
}
@Getter
@Setter
public static final class Keystore {
private String path;
private String password;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy