
com.github.davidmoten.odata.client.HttpRequestOptions Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of odata-client-runtime Show documentation
Show all versions of odata-client-runtime Show documentation
OData client runtime for use with generated code
The newest version!
package com.github.davidmoten.odata.client;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
public interface HttpRequestOptions {
/**
* If present returns the connect timeout for the request (after the SSL
* handshake).
*
* @return request connect timeout in ms
*/
Optional requestConnectTimeoutMs();
/**
* If present returns the read timeout for the request (after the SSL
* handshake).
*
* @return request read timeout in ms
*/
Optional requestReadTimeoutMs();
HttpRequestOptions EMPTY = new HttpRequestOptionsImpl(Optional.empty(), Optional.empty());
static HttpRequestOptions create(Optional connectTimeoutMs, Optional readTimeoutMs) {
return new HttpRequestOptionsImpl(connectTimeoutMs, readTimeoutMs);
}
static Builder connectTimeout(long duration, TimeUnit unit) {
return new Builder(unit.toMillis(duration));
}
static HttpRequestOptions readTimeout(long duration, TimeUnit unit) {
return create(Optional.empty(), Optional.of(unit.toMillis(duration)));
}
final class Builder {
private final long connectTimeoutMs;
Builder(long connectTimeoutMs) {
this.connectTimeoutMs = connectTimeoutMs;
}
public HttpRequestOptions readTimeout(long duration, TimeUnit unit) {
return create(Optional.of(connectTimeoutMs), Optional.of(unit.toMillis(duration)));
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy