Skip to content

Commit 36558fa

Browse files
committed
Make http-log-spec configurable from OpaClient.Builder
1 parent 361fc2d commit 36558fa

File tree

1 file changed

+11
-1
lines changed
  • opa-async-java-client/src/main/java/eu/contentcloud/opa/client

1 file changed

+11
-1
lines changed

opa-async-java-client/src/main/java/eu/contentcloud/opa/client/OpaClient.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010
import eu.contentcloud.opa.client.impl.PolicyComponent;
1111
import eu.contentcloud.opa.client.impl.QueryComponent;
1212
import eu.contentcloud.opa.client.rest.OpaHttpClient;
13+
import eu.contentcloud.opa.client.rest.RestClientConfiguration;
1314
import eu.contentcloud.opa.client.rest.RestClientConfiguration.LogSpecification;
1415
import eu.contentcloud.opa.client.rest.client.jdk.DefaultOpaHttpClient;
1516
import java.net.http.HttpClient;
1617
import java.net.http.HttpClient.Redirect;
1718
import java.time.Duration;
1819
import java.util.Objects;
1920
import java.util.concurrent.CompletableFuture;
21+
import java.util.function.Consumer;
2022
import lombok.extern.slf4j.Slf4j;
2123

2224
public class OpaClient implements PolicyApi, QueryApi, DataApi, CompileApi {
@@ -99,6 +101,8 @@ public static class Builder {
99101
HttpClient.newBuilder().connectTimeout(Duration.ofSeconds(5)).followRedirects(Redirect.NORMAL).build(),
100102
new ObjectMapper());
101103

104+
private Consumer<LogSpecification> httpLogSpec = LogSpecification::verbose;
105+
102106
/**
103107
* @param url URL including protocol and port
104108
*/
@@ -114,6 +118,12 @@ public Builder restClient(OpaHttpClient restClient) {
114118
return this;
115119
}
116120

121+
public Builder httpLogging(Consumer<LogSpecification> httpLogSpec) {
122+
Objects.requireNonNull(httpLogSpec);
123+
this.httpLogSpec = httpLogSpec;
124+
return this;
125+
}
126+
117127
public OpaClient build() {
118128

119129
var opaHttpClient = this.getOrCreateDefaultHttpClient();
@@ -132,7 +142,7 @@ private OpaHttpClient getOrCreateDefaultHttpClient() {
132142
// configure the provided client
133143
client.configure(config -> config
134144
.baseUrl(this.url)
135-
.logging(LogSpecification::verbose));
145+
.logging(this.httpLogSpec));
136146

137147
return client;
138148
}

0 commit comments

Comments
 (0)