Skip to content

Commit 54d0819

Browse files
committed
Fix comments
1 parent b43a6e5 commit 54d0819

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

src/main/java/org/prebid/server/bidder/flatads/FlatadsBidder.java

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.iab.openrtb.request.BidRequest;
55
import com.iab.openrtb.request.Device;
66
import com.iab.openrtb.request.Imp;
7+
import com.iab.openrtb.response.Bid;
78
import com.iab.openrtb.response.BidResponse;
89
import com.iab.openrtb.response.SeatBid;
910
import io.vertx.core.MultiMap;
@@ -104,20 +105,27 @@ private static MultiMap makeHeaders(Device device) {
104105
public Result<List<BidderBid>> makeBids(BidderCall<BidRequest> httpCall, BidRequest bidRequest) {
105106
try {
106107
final BidResponse bidResponse = mapper.decodeValue(httpCall.getResponse().getBody(), BidResponse.class);
107-
return Result.of(extractBids(bidRequest, bidResponse), Collections.emptyList());
108-
} catch (DecodeException | PreBidException e) {
108+
final List<BidderError> errors = new ArrayList<>();
109+
return Result.of(extractBids(bidRequest, bidResponse, errors), errors);
110+
} catch (DecodeException e) {
109111
return Result.withError(BidderError.badServerResponse(e.getMessage()));
110112
}
111113
}
112114

113-
private static List<BidderBid> extractBids(BidRequest bidRequest, BidResponse bidResponse) {
115+
private static List<BidderBid> extractBids(BidRequest bidRequest,
116+
BidResponse bidResponse,
117+
List<BidderError> errors) {
118+
114119
if (bidResponse == null || CollectionUtils.isEmpty(bidResponse.getSeatbid())) {
115120
return Collections.emptyList();
116121
}
117-
return bidsFromResponse(bidRequest, bidResponse);
122+
return bidsFromResponse(bidRequest, bidResponse, errors);
118123
}
119124

120-
private static List<BidderBid> bidsFromResponse(BidRequest bidRequest, BidResponse bidResponse) {
125+
private static List<BidderBid> bidsFromResponse(BidRequest bidRequest,
126+
BidResponse bidResponse,
127+
List<BidderError> errors) {
128+
121129
final Map<String, Imp> imps = bidRequest.getImp().stream()
122130
.collect(Collectors.toMap(Imp::getId, Function.identity()));
123131

@@ -127,11 +135,17 @@ private static List<BidderBid> bidsFromResponse(BidRequest bidRequest, BidRespon
127135
.filter(Objects::nonNull)
128136
.flatMap(Collection::stream)
129137
.filter(Objects::nonNull)
130-
.map(bid -> BidderBid.of(bid, getBidType(bid.getImpid(), imps), bidResponse.getCur()))
138+
.map(bid -> makeBid(bid, imps, bidResponse.getCur(), errors))
139+
.filter(Objects::nonNull)
131140
.collect(Collectors.toList());
132141
}
133142

134-
private static BidType getBidType(String impId, Map<String, Imp> imps) {
143+
private static BidderBid makeBid(Bid bid, Map<String, Imp> imps, String currency, List<BidderError> errors) {
144+
final BidType bidType = getBidType(bid.getImpid(), imps, errors);
145+
return bidType == null ? null : BidderBid.of(bid, bidType, currency);
146+
}
147+
148+
private static BidType getBidType(String impId, Map<String, Imp> imps, List<BidderError> errors) {
135149
final Imp imp = imps.get(impId);
136150
if (imp != null) {
137151
if (imp.getBanner() != null) {
@@ -143,6 +157,8 @@ private static BidType getBidType(String impId, Map<String, Imp> imps) {
143157
}
144158
}
145159

146-
throw new PreBidException("The impression with ID %s is not present into the request".formatted(impId));
160+
errors.add(BidderError.badServerResponse("The impression with ID %s is not present into the request"
161+
.formatted(impId)));
162+
return null;
147163
}
148164
}

0 commit comments

Comments
 (0)