Skip to content

Commit 577be61

Browse files
RTBHouse: removed imp[].pmp object and publisherId parameter copied to site.publisher.id
1 parent 8bc1647 commit 577be61

3 files changed

Lines changed: 352 additions & 2 deletions

File tree

src/main/java/org/prebid/server/bidder/rtbhouse/RtbhouseBidder.java

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
import com.fasterxml.jackson.databind.JsonNode;
66
import com.iab.openrtb.request.BidRequest;
77
import com.iab.openrtb.request.Imp;
8+
import com.iab.openrtb.request.Site;
9+
import com.iab.openrtb.request.Publisher;
10+
import com.iab.openrtb.request.Publisher.PublisherBuilder;
811
import com.iab.openrtb.response.Bid;
912
import com.iab.openrtb.response.BidResponse;
1013
import com.iab.openrtb.response.SeatBid;
@@ -60,13 +63,18 @@ public Result<List<HttpRequest<BidRequest>>> makeHttpRequests(BidRequest bidRequ
6063

6164
final List<Imp> modifiedImps = new ArrayList<>();
6265
final List<BidderError> errors = new ArrayList<>();
66+
String publisherId = null;
6367

6468
for (Imp imp : bidRequest.getImp()) {
6569
try {
6670
final ExtImpRtbhouse impExt = parseImpExt(imp);
6771
final Price bidFloorPrice = resolveBidFloor(imp, impExt, bidRequest);
6872

6973
modifiedImps.add(modifyImp(imp, bidFloorPrice));
74+
// Get publisherId from first valid impExt
75+
if (publisherId == null && impExt.getPublisherId() != null) {
76+
publisherId = impExt.getPublisherId();
77+
}
7078
} catch (PreBidException e) {
7179
errors.add(BidderError.badInput(e.getMessage()));
7280
}
@@ -76,11 +84,13 @@ public Result<List<HttpRequest<BidRequest>>> makeHttpRequests(BidRequest bidRequ
7684
return Result.withErrors(errors);
7785
}
7886

79-
final BidRequest outgoingRequest = bidRequest.toBuilder()
87+
BidRequest outgoingRequest = bidRequest.toBuilder()
8088
.cur(Collections.singletonList(BIDDER_CURRENCY))
8189
.imp(modifiedImps)
8290
.build();
8391

92+
outgoingRequest = updateSitePublisherId(outgoingRequest, publisherId);
93+
8494
return Result.withValue(BidderUtil.defaultRequest(outgoingRequest, endpointUrl, mapper));
8595
}
8696

@@ -175,10 +185,10 @@ private ExtImpRtbhouse parseImpExt(Imp imp) {
175185
}
176186

177187
private static Imp modifyImp(Imp imp, Price bidFloorPrice) {
178-
179188
return imp.toBuilder()
180189
.bidfloorcur(ObjectUtil.getIfNotNull(bidFloorPrice, Price::getCurrency))
181190
.bidfloor(ObjectUtil.getIfNotNull(bidFloorPrice, Price::getValue))
191+
.pmp(null)
182192
.build();
183193
}
184194

@@ -223,4 +233,25 @@ private static Bid resolveMacros(Bid bid) {
223233
.build();
224234
}
225235

236+
static BidRequest updateSitePublisherId(BidRequest bidRequest, String publisherId) {
237+
if (bidRequest == null || publisherId == null) {
238+
return bidRequest;
239+
}
240+
241+
final Site site = bidRequest.getSite();
242+
Publisher publisher = (site != null) ? site.getPublisher() : null;
243+
244+
final PublisherBuilder publisherBuilder = (publisher != null)
245+
? publisher.toBuilder()
246+
: Publisher.builder();
247+
248+
publisherBuilder.id(publisherId);
249+
publisher = publisherBuilder.build();
250+
251+
final Site updatedSite = (site != null)
252+
? site.toBuilder().publisher(publisher).build()
253+
: Site.builder().publisher(publisher).build();
254+
255+
return bidRequest.toBuilder().site(updatedSite).build();
256+
}
226257
}

0 commit comments

Comments
 (0)