
com.github.davidmoten.odata.client.internal.RequestOptionsImpl 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.internal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
import com.github.davidmoten.odata.client.RequestHeader;
import com.github.davidmoten.odata.client.RequestOptions;
public class RequestOptionsImpl implements RequestOptions {
private final Optional requestConnectTimeoutMs;
private final Optional requestReadTimeoutMs;
private final List requestHeaders;
private final Map queries;
private final Optional urlOverride;
public RequestOptionsImpl(Optional requestConnectTimeoutMs,
Optional requestReadTimeoutMs, List requestHeaders,
Map queries, Optional urlOverride) {
this.requestConnectTimeoutMs = requestConnectTimeoutMs;
this.requestReadTimeoutMs = requestReadTimeoutMs;
this.requestHeaders = requestHeaders;
this.queries = queries;
this.urlOverride = urlOverride;
}
public RequestOptionsImpl(RequestOptions r) {
this(r.requestConnectTimeoutMs(), r.requestReadTimeoutMs(), r.getRequestHeaders(),
r.getQueries(), r.getUrlOverride());
}
public RequestOptionsImpl withConnectTimeoutMs(long duration, TimeUnit unit) {
return new RequestOptionsImpl(Optional.of(unit.toMillis(duration)), requestReadTimeoutMs, requestHeaders,
queries, urlOverride);
}
public RequestOptionsImpl withReadTimeoutMs(long duration, TimeUnit unit) {
return new RequestOptionsImpl(requestConnectTimeoutMs, Optional.of(unit.toMillis(duration)), requestHeaders,
queries, urlOverride);
}
public RequestOptionsImpl withRequestHeader(String name, String value) {
List h = new ArrayList<>(requestHeaders);
h.add(RequestHeader.create(name, value));
return new RequestOptionsImpl(requestConnectTimeoutMs, requestReadTimeoutMs, h, queries,
urlOverride);
}
@Override
public Optional requestConnectTimeoutMs() {
return requestConnectTimeoutMs;
}
@Override
public Optional requestReadTimeoutMs() {
return requestReadTimeoutMs;
}
@Override
public List getRequestHeaders() {
return requestHeaders;
}
@Override
public Map getQueries() {
return queries;
}
@Override
public Optional getUrlOverride() {
return urlOverride;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy