diff --git a/src/main/java/org/prebid/server/bidder/kobler/KoblerBidder.java b/src/main/java/org/prebid/server/bidder/kobler/KoblerBidder.java index 7053432ba38..b87df9dcffa 100644 --- a/src/main/java/org/prebid/server/bidder/kobler/KoblerBidder.java +++ b/src/main/java/org/prebid/server/bidder/kobler/KoblerBidder.java @@ -5,6 +5,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; import com.iab.openrtb.request.BidRequest; +import com.iab.openrtb.request.Device; import com.iab.openrtb.request.Imp; import com.iab.openrtb.response.Bid; import com.iab.openrtb.response.BidResponse; @@ -77,9 +78,12 @@ public Result>> makeHttpRequests(BidRequest bidRequ } } + final Device device = bidRequest.getDevice(); final BidRequest modifiedRequest = bidRequest.toBuilder() .imp(modifiedImps) .cur(normalizeCurrencies(bidRequest)) + .device(device != null ? device.toBuilder().ipv6(null).ip(null).build() : null) + .user(null) .build(); final String endpoint = isTest(imps.getFirst(), errors) ? devEndpoint : endpointUrl; diff --git a/src/test/java/org/prebid/server/bidder/kobler/KoblerBidderTest.java b/src/test/java/org/prebid/server/bidder/kobler/KoblerBidderTest.java index 63a8d3ec56c..fce7e9c2146 100644 --- a/src/test/java/org/prebid/server/bidder/kobler/KoblerBidderTest.java +++ b/src/test/java/org/prebid/server/bidder/kobler/KoblerBidderTest.java @@ -2,7 +2,9 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.iab.openrtb.request.BidRequest; +import com.iab.openrtb.request.Device; import com.iab.openrtb.request.Imp; +import com.iab.openrtb.request.User; import com.iab.openrtb.response.Bid; import com.iab.openrtb.response.BidResponse; import com.iab.openrtb.response.SeatBid; @@ -165,6 +167,25 @@ public void makeHttpRequestsShouldAddUsdToCurrenciesIfMissing() { .containsExactly(List.of("EUR", "USD")); } + @Test + public void makeHttpRequestsShouldSanitizeDeviceAndUserData() { + // given + final BidRequest bidRequest = givenBidRequest( + request -> request + .device(Device.builder().ip("ip").ipv6("ipv6").ua("ua").build()) + .user(User.builder().consent("consent").build()), + givenImp(identity())); + + // when + final Result>> result = target.makeHttpRequests(bidRequest); + + // then + assertThat(result.getValue()) + .extracting(HttpRequest::getPayload) + .extracting(BidRequest::getDevice, BidRequest::getUser) + .containsExactly(tuple(Device.builder().ua("ua").build(), null)); + } + @Test public void makeBidsShouldReturnErrorIfResponseBodyIsInvalid() { // given diff --git a/src/test/resources/org/prebid/server/it/openrtb2/kobler/test-kobler-bid-request.json b/src/test/resources/org/prebid/server/it/openrtb2/kobler/test-kobler-bid-request.json index 83770158d3d..95d78be2e70 100644 --- a/src/test/resources/org/prebid/server/it/openrtb2/kobler/test-kobler-bid-request.json +++ b/src/test/resources/org/prebid/server/it/openrtb2/kobler/test-kobler-bid-request.json @@ -27,8 +27,7 @@ } }, "device": { - "ua": "userAgent", - "ip": "193.168.244.1" + "ua": "userAgent" }, "at": 1, "tmax": "${json-unit.any-number}",