diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2cdc18b..8873b15 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,9 @@ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.htm
# Changelog for org.gcube.spatial.data.ws-thredds
+## [v0.2.6-SNAPSHOT]
+Fixes #21265
+
## [v0.2.5]
Fixes #21265
diff --git a/pom.xml b/pom.xml
index d0d1c2e..407c1e6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -8,7 +8,7 @@
org.gcube.spatial.data
ws-thredds
- 0.2.5
+ 0.2.6-SNAPSHOT
ws-thredds
prototype of WS integration with data-transfer for Thredds pubblication
diff --git a/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/CustomAuthorizationFilter.java b/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/CustomAuthorizationFilter.java
new file mode 100644
index 0000000..dc534f2
--- /dev/null
+++ b/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/CustomAuthorizationFilter.java
@@ -0,0 +1,32 @@
+package org.gcube.usecases.ws.thredds.engine.impl;
+
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Map.Entry;
+
+import javax.ws.rs.client.ClientRequestContext;
+import javax.ws.rs.client.ClientRequestFilter;
+
+import org.gcube.common.calls.Call;
+import org.gcube.common.calls.Interceptors;
+import org.gcube.common.calls.Request;
+import org.gcube.data.transfer.library.utils.ScopeUtils;
+
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+public class CustomAuthorizationFilter implements ClientRequestFilter {
+
+
+ @Override
+ public void filter(final ClientRequestContext rc) throws IOException {
+ if (ScopeUtils.getCurrentScope()!=null){
+ Request requestContext = Interceptors.executeRequestChain(new Call());
+
+ for (Entry entry: requestContext.getHeaders()){
+ log.debug("Copying HTTP request header {} : {}",entry.getKey(),entry.getValue());
+ rc.getHeaders().put(entry.getKey(), Collections.singletonList((Object)entry.getValue()));
+ }
+ }
+ }
+}
diff --git a/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/ThreddsController.java b/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/ThreddsController.java
index 30c46ce..efd3646 100644
--- a/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/ThreddsController.java
+++ b/src/main/java/org/gcube/usecases/ws/thredds/engine/impl/ThreddsController.java
@@ -23,7 +23,6 @@ import org.gcube.common.authorization.library.provider.SecurityTokenProvider;
import org.gcube.common.resources.gcore.GCoreEndpoint;
import org.gcube.data.transfer.library.DataTransferClient;
import org.gcube.data.transfer.library.TransferResult;
-import org.gcube.data.transfer.library.client.AuthorizationFilter;
import org.gcube.data.transfer.library.faults.DestinationNotSetException;
import org.gcube.data.transfer.library.faults.FailedTransferException;
import org.gcube.data.transfer.library.faults.InitializationException;
@@ -338,7 +337,7 @@ public class ThreddsController {
}
private static Client getWebClient() {
- return ClientBuilder.newClient(new ClientConfig().register(AuthorizationFilter.class))
+ return ClientBuilder.newClient(new ClientConfig().register(CustomAuthorizationFilter.class))
.property(ClientProperties.SUPPRESS_HTTP_COMPLIANCE_VALIDATION, true);
}