diff --git a/src/main/java/org/prebid/cache/handlers/cache/PostCacheHandler.java b/src/main/java/org/prebid/cache/handlers/cache/PostCacheHandler.java index 5197e09..83f09aa 100644 --- a/src/main/java/org/prebid/cache/handlers/cache/PostCacheHandler.java +++ b/src/main/java/org/prebid/cache/handlers/cache/PostCacheHandler.java @@ -27,6 +27,7 @@ import org.prebid.cache.routers.ApiConfig; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.stereotype.Component; @@ -44,6 +45,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.function.Consumer; import java.util.function.Function; @Component @@ -210,6 +212,7 @@ private void sendRequestToSecondaryPrebidCacheHosts(List payload .uri(uriBuilder -> uriBuilder.path(config.getSecondaryCachePath()) .queryParam("secondaryCache", "yes").build()) .contentType(MediaType.APPLICATION_JSON) + .headers(enrichWithSecurityHeader()) .bodyValue(RequestObject.of(payloadTransfers)) .exchange() .transform(CircuitBreakerOperator.of(circuitBreaker)) @@ -228,6 +231,13 @@ private void sendRequestToSecondaryPrebidCacheHosts(List payload } } + private Consumer enrichWithSecurityHeader() { + final String apiKey = apiConfig.getApiKey(); + return apiKey != null + ? httpHeaders -> httpHeaders.set(API_KEY_HEADER, apiKey) + : httpHeaders -> { }; + } + private PayloadTransfer wrapperToTransfer(final PayloadWrapper wrapper) { return PayloadTransfer.builder().type(wrapper.getPayload().getType()) .key(wrapper.getId()).value(wrapper.getPayload().getValue()).expiry(wrapper.getExpiry()).build();