diff --git a/pom.xml b/pom.xml
index d706c480..bd9b79db 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.trasier
trasier-client
- 2.3.8
+ 2.3.9
pom
trasier-client
@@ -31,7 +31,7 @@
1.7.25
2.10.4
- 2.6
+ 2.7
1.24.0
9.5.0
@@ -50,7 +50,7 @@
4.13.1
2.8.9
- 1.16.16
+ 1.18.22
diff --git a/trasier-client-api-protobuf/pom.xml b/trasier-client-api-protobuf/pom.xml
index d51a6ea6..c29ead40 100644
--- a/trasier-client-api-protobuf/pom.xml
+++ b/trasier-client-api-protobuf/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-api/pom.xml b/trasier-client-api/pom.xml
index b5d2c055..a0a4c9b1 100644
--- a/trasier-client-api/pom.xml
+++ b/trasier-client-api/pom.xml
@@ -4,7 +4,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
@@ -13,7 +13,7 @@
jar
- 1.16.16
+ 1.18.22
diff --git a/trasier-client-core/pom.xml b/trasier-client-core/pom.xml
index 5ff6844e..358ab1d3 100644
--- a/trasier-client-core/pom.xml
+++ b/trasier-client-core/pom.xml
@@ -4,7 +4,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-core/src/main/java/com/trasier/client/auth/AuthInterceptor.java b/trasier-client-core/src/main/java/com/trasier/client/auth/AuthInterceptor.java
new file mode 100644
index 00000000..876ee1bb
--- /dev/null
+++ b/trasier-client-core/src/main/java/com/trasier/client/auth/AuthInterceptor.java
@@ -0,0 +1,9 @@
+package com.trasier.client.auth;
+
+public interface AuthInterceptor {
+
+ String getToken();
+
+ void refreshToken();
+
+}
diff --git a/trasier-client-core/src/main/java/com/trasier/client/auth/NoAuthInterceptor.java b/trasier-client-core/src/main/java/com/trasier/client/auth/NoAuthInterceptor.java
new file mode 100644
index 00000000..e677fcd5
--- /dev/null
+++ b/trasier-client-core/src/main/java/com/trasier/client/auth/NoAuthInterceptor.java
@@ -0,0 +1,13 @@
+package com.trasier.client.auth;
+
+public class NoAuthInterceptor implements AuthInterceptor {
+
+ @Override
+ public String getToken() {
+ throw new IllegalStateException("getToken() should not be called if NoAuth is used");
+ }
+
+ @Override
+ public void refreshToken() {
+ }
+}
diff --git a/trasier-client-core/src/main/java/com/trasier/client/auth/OAuthTokenSafe.java b/trasier-client-core/src/main/java/com/trasier/client/auth/OAuthTokenSafe.java
index 37e93fa2..f3612f66 100644
--- a/trasier-client-core/src/main/java/com/trasier/client/auth/OAuthTokenSafe.java
+++ b/trasier-client-core/src/main/java/com/trasier/client/auth/OAuthTokenSafe.java
@@ -17,7 +17,7 @@
import java.util.Base64;
import java.util.concurrent.atomic.AtomicBoolean;
-public class OAuthTokenSafe {
+public class OAuthTokenSafe implements AuthInterceptor {
private static final Logger LOGGER = LoggerFactory.getLogger(OAuthTokenSafe.class);
private static final int EXPIRES_IN_TOLERANCE = 60;
@@ -40,6 +40,7 @@ public OAuthTokenSafe(TrasierClientConfiguration clientConfiguration, String aut
this.asyncHandler = new AsyncTokenHandler();
}
+ @Override
public String getToken() {
if (isTokenInvalid()) {
refreshToken();
@@ -47,6 +48,7 @@ public String getToken() {
return token != null ? token.getAccessToken() : null;
}
+ @Override
public void refreshToken() {
if (isTokenInvalid()) {
if (!isFeatching.getAndSet(true)) {
diff --git a/trasier-client-core/src/main/java/com/trasier/client/configuration/TrasierClientConfiguration.java b/trasier-client-core/src/main/java/com/trasier/client/configuration/TrasierClientConfiguration.java
index 26240bd1..f942cb92 100644
--- a/trasier-client-core/src/main/java/com/trasier/client/configuration/TrasierClientConfiguration.java
+++ b/trasier-client-core/src/main/java/com/trasier/client/configuration/TrasierClientConfiguration.java
@@ -7,6 +7,7 @@ public class TrasierClientConfiguration {
private String clientSecret;
private String systemName;
+ private boolean useAuth = true;
private boolean activated = true;
private boolean payloadTracingDisabled = false;
private boolean compressPayloadDisabled = false;
@@ -121,4 +122,11 @@ public void setAhcRequestTimeout(final int ahcRequestTimeout) {
this.ahcRequestTimeout = ahcRequestTimeout;
}
+ public boolean isUseAuth() {
+ return useAuth;
+ }
+
+ public void setUseAuth(boolean useAuth) {
+ this.useAuth = useAuth;
+ }
}
\ No newline at end of file
diff --git a/trasier-client-core/src/main/java/com/trasier/client/http/TrasierHttpClient.java b/trasier-client-core/src/main/java/com/trasier/client/http/TrasierHttpClient.java
index faf78c97..3119a2af 100644
--- a/trasier-client-core/src/main/java/com/trasier/client/http/TrasierHttpClient.java
+++ b/trasier-client-core/src/main/java/com/trasier/client/http/TrasierHttpClient.java
@@ -4,7 +4,7 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.trasier.client.api.Client;
import com.trasier.client.api.Span;
-import com.trasier.client.auth.OAuthTokenSafe;
+import com.trasier.client.auth.AuthInterceptor;
import com.trasier.client.configuration.TrasierClientConfiguration;
import com.trasier.client.configuration.TrasierEndpointConfiguration;
import com.trasier.client.interceptor.TrasierSpanInterceptor;
@@ -27,14 +27,14 @@ public class TrasierHttpClient implements Client {
private final TrasierClientConfiguration clientConfiguration;
private final ObjectMapper mapper;
private final AsyncHttpClient client;
- private final OAuthTokenSafe tokenSafe;
+ private final AuthInterceptor authInterceptor;
private final List spanInterceptors;
private final String writerEndpointUrl;
private final TrasierHttpClientHandler handler;
- public TrasierHttpClient(TrasierClientConfiguration clientConfiguration, TrasierEndpointConfiguration endpointConfiguration, OAuthTokenSafe tokenSafe, AsyncHttpClient client) {
+ public TrasierHttpClient(TrasierClientConfiguration clientConfiguration, TrasierEndpointConfiguration endpointConfiguration, AuthInterceptor authInterceptor, AsyncHttpClient client) {
this.clientConfiguration = clientConfiguration;
- this.tokenSafe = tokenSafe;
+ this.authInterceptor = authInterceptor;
this.client = client;
this.mapper = createObjectMapper();
this.spanInterceptors = new ArrayList<>();
@@ -71,18 +71,20 @@ public boolean sendSpans(List spans) {
}
protected boolean sendSpansInternal(List spans) throws JsonProcessingException {
- String token = tokenSafe.getToken();
- if(token != null && !token.isEmpty()) {
- BoundRequestBuilder requestBuilder = client
- .preparePost(writerEndpointUrl)
- .setHeader("Content-Type", "application/json")
- .setHeader("Authorization", "Bearer " + token)
- .setBody(mapper.writeValueAsBytes(spans));
- Request request = requestBuilder.build();
- client.executeRequest(request, handler);
- return true;
+ BoundRequestBuilder requestBuilder = client.preparePost(writerEndpointUrl);
+ if (clientConfiguration.isUseAuth()) {
+ String token = authInterceptor.getToken();
+ if (token == null || token.isEmpty()) {
+ return false;
+ }
+ requestBuilder.setHeader("Authorization", "Bearer " + token);
}
- return false;
+
+ requestBuilder.setHeader("Content-Type", "application/json");
+ requestBuilder.setBody(mapper.writeValueAsBytes(spans));
+ Request request = requestBuilder.build();
+ client.executeRequest(request, handler);
+ return true;
}
@Override
diff --git a/trasier-client-opentracing/pom.xml b/trasier-client-opentracing/pom.xml
index 76beddd8..b2bac0b9 100644
--- a/trasier-client-opentracing/pom.xml
+++ b/trasier-client-opentracing/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-boot/pom.xml b/trasier-client-spring-boot/pom.xml
index 5a8b6fba..b6756e3f 100644
--- a/trasier-client-spring-boot/pom.xml
+++ b/trasier-client-spring-boot/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-grpc-starter/pom.xml b/trasier-client-spring-grpc-starter/pom.xml
index 908f5c76..86fbca96 100644
--- a/trasier-client-spring-grpc-starter/pom.xml
+++ b/trasier-client-spring-grpc-starter/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-grpc/pom.xml b/trasier-client-spring-grpc/pom.xml
index a7978960..0bc4eba4 100644
--- a/trasier-client-spring-grpc/pom.xml
+++ b/trasier-client-spring-grpc/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-grpc/src/main/java/com/trasier/client/spring/grpc/TrasierAuthClientInterceptor.java b/trasier-client-spring-grpc/src/main/java/com/trasier/client/spring/grpc/TrasierAuthClientInterceptor.java
index bf0763ad..f714a79d 100644
--- a/trasier-client-spring-grpc/src/main/java/com/trasier/client/spring/grpc/TrasierAuthClientInterceptor.java
+++ b/trasier-client-spring-grpc/src/main/java/com/trasier/client/spring/grpc/TrasierAuthClientInterceptor.java
@@ -1,5 +1,7 @@
package com.trasier.client.spring.grpc;
+import com.trasier.client.auth.AuthInterceptor;
+import com.trasier.client.auth.NoAuthInterceptor;
import com.trasier.client.auth.OAuthTokenSafe;
import com.trasier.client.configuration.TrasierClientConfiguration;
import com.trasier.client.configuration.TrasierEndpointConfiguration;
@@ -21,24 +23,24 @@
public class TrasierAuthClientInterceptor implements ClientInterceptor {
private final TrasierClientConfiguration clientConfiguration;
- private final OAuthTokenSafe oAuthTokenSafe;
+ private final AuthInterceptor authInterceptor;
@Autowired
public TrasierAuthClientInterceptor(TrasierClientConfiguration clientConfiguration, TrasierEndpointConfiguration endpointConfiguration) {
this.clientConfiguration = clientConfiguration;
AsyncHttpClient client = AsyncHttpClientFactory.createDefaultClient(clientConfiguration);
- this.oAuthTokenSafe = new OAuthTokenSafe(clientConfiguration, endpointConfiguration.getAuthEndpoint(), client);
+ this.authInterceptor = clientConfiguration.isUseAuth() ? new OAuthTokenSafe(clientConfiguration, endpointConfiguration.getAuthEndpoint(), client) : new NoAuthInterceptor();
}
- public TrasierAuthClientInterceptor(TrasierClientConfiguration clientConfiguration, OAuthTokenSafe tokenSafe) {
+ public TrasierAuthClientInterceptor(TrasierClientConfiguration clientConfiguration, AuthInterceptor tokenSafe) {
this.clientConfiguration = clientConfiguration;
- this.oAuthTokenSafe = tokenSafe;
+ this.authInterceptor = tokenSafe;
}
@PostConstruct
public void init() {
if (clientConfiguration.isActivated()) {
- oAuthTokenSafe.refreshToken();
+ authInterceptor.refreshToken();
}
}
@@ -47,9 +49,15 @@ public ClientCall interceptCall(MethodDescriptor
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-interceptor-boot/pom.xml b/trasier-client-spring-interceptor-boot/pom.xml
index 93c26300..63f9adf2 100644
--- a/trasier-client-spring-interceptor-boot/pom.xml
+++ b/trasier-client-spring-interceptor-boot/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-interceptor-ws/pom.xml b/trasier-client-spring-interceptor-ws/pom.xml
index d7db59b9..478988fb 100644
--- a/trasier-client-spring-interceptor-ws/pom.xml
+++ b/trasier-client-spring-interceptor-ws/pom.xml
@@ -4,7 +4,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-interceptor/pom.xml b/trasier-client-spring-interceptor/pom.xml
index 54440e27..b11713a6 100644
--- a/trasier-client-spring-interceptor/pom.xml
+++ b/trasier-client-spring-interceptor/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-noop-starter/pom.xml b/trasier-client-spring-noop-starter/pom.xml
index f9977c5a..22e49a6b 100644
--- a/trasier-client-spring-noop-starter/pom.xml
+++ b/trasier-client-spring-noop-starter/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-noop/pom.xml b/trasier-client-spring-noop/pom.xml
index 055d9c60..e0a7ef18 100644
--- a/trasier-client-spring-noop/pom.xml
+++ b/trasier-client-spring-noop/pom.xml
@@ -3,12 +3,12 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
- 1.16.16
+ 1.18.22
trasier-client-spring-noop
diff --git a/trasier-client-spring-rest-starter/pom.xml b/trasier-client-spring-rest-starter/pom.xml
index 61706dc0..cd746aa0 100644
--- a/trasier-client-spring-rest-starter/pom.xml
+++ b/trasier-client-spring-rest-starter/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-rest/pom.xml b/trasier-client-spring-rest/pom.xml
index 16f025aa..da2976da 100644
--- a/trasier-client-spring-rest/pom.xml
+++ b/trasier-client-spring-rest/pom.xml
@@ -4,7 +4,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0
diff --git a/trasier-client-spring-rest/src/main/java/com/trasier/client/spring/rest/TrasierSpringRestClient.java b/trasier-client-spring-rest/src/main/java/com/trasier/client/spring/rest/TrasierSpringRestClient.java
index d38b0137..b4533fce 100644
--- a/trasier-client-spring-rest/src/main/java/com/trasier/client/spring/rest/TrasierSpringRestClient.java
+++ b/trasier-client-spring-rest/src/main/java/com/trasier/client/spring/rest/TrasierSpringRestClient.java
@@ -1,6 +1,8 @@
package com.trasier.client.spring.rest;
import com.trasier.client.api.Span;
+import com.trasier.client.auth.AuthInterceptor;
+import com.trasier.client.auth.NoAuthInterceptor;
import com.trasier.client.auth.OAuthTokenSafe;
import com.trasier.client.configuration.TrasierClientConfiguration;
import com.trasier.client.configuration.TrasierEndpointConfiguration;
@@ -27,7 +29,7 @@ public class TrasierSpringRestClient implements TrasierSpringClient {
@Autowired
public TrasierSpringRestClient(TrasierEndpointConfiguration endpointConfiguration, TrasierClientConfiguration clientConfiguration, Optional optionalProxyConfiguration, Optional> optionalSpanInterceptors) {
AsyncHttpClient client = createHttpClient(clientConfiguration, optionalProxyConfiguration);
- OAuthTokenSafe tokenSafe = new OAuthTokenSafe(clientConfiguration, endpointConfiguration.getAuthEndpoint(), client);
+ AuthInterceptor tokenSafe = clientConfiguration.isUseAuth() ? new OAuthTokenSafe(clientConfiguration, endpointConfiguration.getAuthEndpoint(), client) : new NoAuthInterceptor();
TrasierHttpClient trasierHttpClient = new TrasierHttpClient(clientConfiguration, endpointConfiguration, tokenSafe, client);
this.client = trasierHttpClient;
if (clientConfiguration.isActivated()) {
diff --git a/trasier-client-spring/pom.xml b/trasier-client-spring/pom.xml
index 5c10e5de..7d7b4538 100644
--- a/trasier-client-spring/pom.xml
+++ b/trasier-client-spring/pom.xml
@@ -3,7 +3,7 @@
trasier-client
com.trasier
- 2.3.8
+ 2.3.9
4.0.0