From 9d230b52a6ece19f906998180015433a34710fed Mon Sep 17 00:00:00 2001 From: DGarbar Date: Tue, 3 Nov 2020 13:52:28 +0200 Subject: [PATCH 1/2] Add new request type names and fix NPE for setuid and cookiesync --- .../org/prebid/server/auction/PrivacyEnforcementService.java | 4 ++-- src/main/java/org/prebid/server/metric/MetricName.java | 3 +++ .../org/prebid/server/privacy/gdpr/TcfDefinerService.java | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/prebid/server/auction/PrivacyEnforcementService.java b/src/main/java/org/prebid/server/auction/PrivacyEnforcementService.java index 5db8f3bcff4..eb7fbf023c9 100644 --- a/src/main/java/org/prebid/server/auction/PrivacyEnforcementService.java +++ b/src/main/java/org/prebid/server/auction/PrivacyEnforcementService.java @@ -131,7 +131,7 @@ public Future contextFromSetuidRequest( final String ipAddress = HttpUtil.ipFrom(httpRequest); final AccountGdprConfig accountGdpr = account.getGdpr(); final String accountId = account.getId(); - final RequestLogInfo requestLogInfo = requestLogInfo(null, null, accountId); + final RequestLogInfo requestLogInfo = requestLogInfo(MetricName.setuid, null, accountId); return tcfDefinerService.resolveTcfContext(privacy, ipAddress, accountGdpr, requestLogInfo, timeout) .map(tcfContext -> PrivacyContext.of(privacy, tcfContext)); @@ -144,7 +144,7 @@ public Future contextFromCookieSyncRequest( final String ipAddress = HttpUtil.ipFrom(httpRequest); final AccountGdprConfig accountGdpr = account.getGdpr(); final String accountId = account.getId(); - final RequestLogInfo requestLogInfo = requestLogInfo(null, null, accountId); + final RequestLogInfo requestLogInfo = requestLogInfo(MetricName.cookiesync, null, accountId); return tcfDefinerService.resolveTcfContext(privacy, ipAddress, accountGdpr, requestLogInfo, timeout) .map(tcfContext -> PrivacyContext.of(privacy, tcfContext)); diff --git a/src/main/java/org/prebid/server/metric/MetricName.java b/src/main/java/org/prebid/server/metric/MetricName.java index a6280b99678..c26455b32ed 100644 --- a/src/main/java/org/prebid/server/metric/MetricName.java +++ b/src/main/java/org/prebid/server/metric/MetricName.java @@ -44,6 +44,9 @@ public enum MetricName { amp, video, legacy, + cookiesync, + setuid, + // request and adapter statuses ok, diff --git a/src/main/java/org/prebid/server/privacy/gdpr/TcfDefinerService.java b/src/main/java/org/prebid/server/privacy/gdpr/TcfDefinerService.java index 7d28b7d3583..55b4943ce93 100644 --- a/src/main/java/org/prebid/server/privacy/gdpr/TcfDefinerService.java +++ b/src/main/java/org/prebid/server/privacy/gdpr/TcfDefinerService.java @@ -411,7 +411,7 @@ private TCString decodeTcString(String consentString, RequestLogInfo requestLogI } private static void logWarn(String consent, String message, RequestLogInfo requestLogInfo) { - if (requestLogInfo == null) { + if (requestLogInfo == null || requestLogInfo.getRequestType() == null) { final String exceptionMessage = String.format("Parsing consent string:\"%s\" failed for undefined type " + "with exception %s", consent, message); UNDEFINED_CORRUPT_CONSENT_LOGGER.info(exceptionMessage, 100); @@ -436,6 +436,8 @@ private static void logWarn(String consent, String message, RequestLogInfo reque logMessage(consent, MetricName.legacy.toString(), requestLogInfo, message), 100); break; case video: + case cookiesync: + case setuid: default: UNDEFINED_CORRUPT_CONSENT_LOGGER.info( logMessage(consent, "video or sync or setuid", requestLogInfo, message), 100); From 63839a8542620b1471a015bc197abb10de36ac75 Mon Sep 17 00:00:00 2001 From: DGarbar Date: Tue, 3 Nov 2020 14:55:21 +0200 Subject: [PATCH 2/2] fix tests --- .../prebid/server/auction/PrivacyEnforcementServiceTest.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/org/prebid/server/auction/PrivacyEnforcementServiceTest.java b/src/test/java/org/prebid/server/auction/PrivacyEnforcementServiceTest.java index 2e7b5a81279..f720c3cfa1e 100644 --- a/src/test/java/org/prebid/server/auction/PrivacyEnforcementServiceTest.java +++ b/src/test/java/org/prebid/server/auction/PrivacyEnforcementServiceTest.java @@ -281,7 +281,7 @@ public void contextFromSetuidRequestShouldReturnContext() { final Privacy privacy = Privacy.of("1", "consent", Ccpa.EMPTY, 0); FutureAssertion.assertThat(privacyContext).succeededWith(PrivacyContext.of(privacy, tcfContext)); - final RequestLogInfo expectedRequestLogInfo = RequestLogInfo.of(null, null, accountId); + final RequestLogInfo expectedRequestLogInfo = RequestLogInfo.of(MetricName.setuid, null, accountId); verify(tcfDefinerService) .resolveTcfContext(eq(privacy), eq("ip"), isNull(), eq(expectedRequestLogInfo), isNull()); } @@ -317,7 +317,7 @@ public void contextFromCookieSyncRequestShouldReturnContext() { final Privacy privacy = Privacy.of("1", "consent", Ccpa.of("1YYY"), 0); FutureAssertion.assertThat(privacyContext).succeededWith(PrivacyContext.of(privacy, tcfContext)); - final RequestLogInfo expectedRequestLogInfo = RequestLogInfo.of(null, null, accountId); + final RequestLogInfo expectedRequestLogInfo = RequestLogInfo.of(MetricName.cookiesync, null, accountId); verify(tcfDefinerService) .resolveTcfContext(eq(privacy), eq("ip"), isNull(), eq(expectedRequestLogInfo), isNull()); }