All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.yammer.dropwizard.client.HttpClientConfiguration Maven / Gradle / Ivy

package com.yammer.dropwizard.client;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.yammer.dropwizard.util.Duration;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * The configuration class used by {@link HttpClientBuilder}.
 *
  * @see Http Client Configuration
 */
public class HttpClientConfiguration {
    @NotNull
    @JsonProperty
    private Duration timeout = Duration.milliseconds(500);

    @NotNull
    @JsonProperty
    private Duration connectionTimeout = Duration.milliseconds(500);

    @NotNull
    @JsonProperty
    private Duration timeToLive = Duration.hours(1);

    @JsonProperty
    private boolean cookiesEnabled = false;

    @Min(1)
    @Max(Integer.MAX_VALUE)
    @JsonProperty
    private int maxConnections = 1024;

    @Min(1)
    @Max(Integer.MAX_VALUE)
    @JsonProperty
    private int maxConnectionsPerRoute = 1024;

    @NotNull
    @JsonProperty
    private Duration keepAlive = Duration.milliseconds(0);

    @Min(0)
    @Max(1000)
    private int retries = 0;

    public Duration getKeepAlive() {
        return keepAlive;
    }

    public void setKeepAlive(Duration keepAlive) {
        this.keepAlive = keepAlive;
    }

    public int getMaxConnectionsPerRoute() {
        return maxConnectionsPerRoute;
    }

    public void setMaxConnectionsPerRoute(int maxConnectionsPerRoute) {
        this.maxConnectionsPerRoute = maxConnectionsPerRoute;
    }
    public Duration getTimeout() {
        return timeout;
    }

    public Duration getConnectionTimeout() {
        return connectionTimeout;
    }

    public Duration getTimeToLive() {
        return timeToLive;
    }

    public boolean isCookiesEnabled() {
        return cookiesEnabled;
    }

    public void setTimeout(Duration duration) {
        this.timeout = duration;
    }

    public void setConnectionTimeout(Duration duration) {
        this.connectionTimeout = duration;
    }

    @SuppressWarnings("UnusedDeclaration") // sadly, no real way to test this
    public void setTimeToLive(Duration timeToLive) {
        this.timeToLive = timeToLive;
    }

    public void setCookiesEnabled(boolean enabled) {
        this.cookiesEnabled = enabled;
    }

    public int getMaxConnections() {
        return maxConnections;
    }

    public void setMaxConnections(int maxConnections) {
        this.maxConnections = maxConnections;
    }

    public int getRetries() {
        return retries;
    }

    public void setRetries(int retries) {
        this.retries = retries;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy