From 7e6fbe4609f548375d2eceefbeb061054d0b87b6 Mon Sep 17 00:00:00 2001 From: Oleksandr Zhevedenko <720803+Net-burst@users.noreply.github.com> Date: Mon, 3 Mar 2025 20:19:00 -0500 Subject: [PATCH 1/3] Extend secondary cache support with optional security header --- .../cache/handlers/cache/PostCacheHandler.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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..d94c26a 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,15 @@ private void sendRequestToSecondaryPrebidCacheHosts(List payload } } + private Consumer enrichWithSecurityHeader() { + return httpHeaders -> { + final String apiKey = apiConfig.getApiKey(); + if (apiKey != null) { + httpHeaders.set(API_KEY_HEADER, apiKey); + } + }; + } + private PayloadTransfer wrapperToTransfer(final PayloadWrapper wrapper) { return PayloadTransfer.builder().type(wrapper.getPayload().getType()) .key(wrapper.getId()).value(wrapper.getPayload().getValue()).expiry(wrapper.getExpiry()).build(); From 664993f4b45065940db7fb8b78b75752d23feb79 Mon Sep 17 00:00:00 2001 From: Oleksandr Zhevedenko <720803+Net-burst@users.noreply.github.com> Date: Thu, 20 Mar 2025 09:30:53 -0400 Subject: [PATCH 2/3] Fix remarks --- .../prebid/cache/handlers/cache/PostCacheHandler.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) 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 d94c26a..2d8d683 100644 --- a/src/main/java/org/prebid/cache/handlers/cache/PostCacheHandler.java +++ b/src/main/java/org/prebid/cache/handlers/cache/PostCacheHandler.java @@ -232,12 +232,10 @@ private void sendRequestToSecondaryPrebidCacheHosts(List payload } private Consumer enrichWithSecurityHeader() { - return httpHeaders -> { - final String apiKey = apiConfig.getApiKey(); - if (apiKey != null) { - httpHeaders.set(API_KEY_HEADER, apiKey); - } - }; + final String apiKey = apiConfig.getApiKey(); + return apiKey != null + ? httpHeaders -> httpHeaders.set(API_KEY_HEADER, apiKey) + : httpHeaders -> {}; } private PayloadTransfer wrapperToTransfer(final PayloadWrapper wrapper) { From e34d9e3b539e811f077c6b3129c439e4083f8da5 Mon Sep 17 00:00:00 2001 From: Oleksandr Zhevedenko <720803+Net-burst@users.noreply.github.com> Date: Thu, 20 Mar 2025 09:37:11 -0400 Subject: [PATCH 3/3] Fix Checkstyle complaint --- .../java/org/prebid/cache/handlers/cache/PostCacheHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 2d8d683..83f09aa 100644 --- a/src/main/java/org/prebid/cache/handlers/cache/PostCacheHandler.java +++ b/src/main/java/org/prebid/cache/handlers/cache/PostCacheHandler.java @@ -235,7 +235,7 @@ private Consumer enrichWithSecurityHeader() { final String apiKey = apiConfig.getApiKey(); return apiKey != null ? httpHeaders -> httpHeaders.set(API_KEY_HEADER, apiKey) - : httpHeaders -> {}; + : httpHeaders -> { }; } private PayloadTransfer wrapperToTransfer(final PayloadWrapper wrapper) {