Skip to content

Commit e7ad006

Browse files
teranchristianharpere
authored andcommitted
4235 prebid endpoint return empty array instead of 204 when no bids returned (prebid#3136)
* corrected user sync type * add alias pxyz add version to endpoint add validation for 204 bid response * add validation with serverResponse is undefined fix test for 204 (no bid response) * remove package lock * restore package-lock
1 parent 4e8955e commit e7ad006

File tree

2 files changed

+20
-8
lines changed

2 files changed

+20
-8
lines changed

modules/playgroundxyzBidAdapter.js

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import { registerBidder } from 'src/adapters/bidderFactory';
33
import { BANNER } from 'src/mediaTypes';
44

55
const BIDDER_CODE = 'playgroundxyz';
6-
const URL = 'https://ads.playground.xyz/host-config/prebid';
6+
const URL = 'https://ads.playground.xyz/host-config/prebid?v=2';
77

88
export const spec = {
99
code: BIDDER_CODE,
10-
aliases: ['playgroundxyz'],
10+
aliases: ['playgroundxyz', 'pxyz'],
1111
supportedMediaTypes: [BANNER],
1212

1313
/**
@@ -69,8 +69,10 @@ export const spec = {
6969

7070
if (!serverResponse || serverResponse.error) {
7171
let errorMessage = `in response for ${bidderRequest.bidderCode} adapter`;
72-
if (serverResponse && serverResponse.error) { errorMessage += `: ${serverResponse.error}`; }
73-
utils.logError(errorMessage);
72+
if (serverResponse && serverResponse.error) {
73+
errorMessage += `: ${serverResponse.error}`;
74+
utils.logError(errorMessage);
75+
}
7476
return bids;
7577
}
7678

@@ -80,6 +82,10 @@ export const spec = {
8082
return bids;
8183
}
8284

85+
if (!serverResponse.seatbid) {
86+
return bids;
87+
}
88+
8389
serverResponse.seatbid.forEach(sBid => {
8490
if (sBid.hasOwnProperty('bid')) {
8591
sBid.bid.forEach(iBid => {
@@ -131,6 +137,12 @@ function mapImpression(bid) {
131137
ext: {
132138
appnexus: {
133139
placement_id: parseInt(bid.params.placementId, 10)
140+
},
141+
pxyz: {
142+
adapter: {
143+
vendor: 'prebid',
144+
prebid: '$prebid.version$'
145+
}
134146
}
135147
}
136148
};

test/spec/modules/playgroundxyzBidAdapter_spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { spec } from 'modules/playgroundxyzBidAdapter';
33
import { newBidder } from 'src/adapters/bidderFactory';
44
import { deepClone } from 'src/utils';
55

6-
const URL = 'https://ads.playground.xyz/host-config/prebid';
6+
const URL = 'https://ads.playground.xyz/host-config/prebid?v=2';
77
const GDPR_CONSENT = 'XYZ-CONSENT';
88

99
describe('playgroundxyzBidAdapter', function () {
@@ -64,7 +64,7 @@ describe('playgroundxyzBidAdapter', function () {
6464
const data = JSON.parse(request.data);
6565
const banner = data.imp[0].banner;
6666

67-
expect(Object.keys(data.imp[0].ext)).to.have.members(['appnexus']);
67+
expect(Object.keys(data.imp[0].ext)).to.have.members(['appnexus', 'pxyz']);
6868
expect([banner.w, banner.h]).to.deep.equal([300, 250]);
6969
expect(banner.format).to.deep.equal([{w: 300, h: 250}, {w: 300, h: 600}]);
7070
expect(request.url).to.equal(URL);
@@ -128,8 +128,8 @@ describe('playgroundxyzBidAdapter', function () {
128128
expect(Object.keys(result[0])).to.have.members(Object.keys(expectedResponse[0]));
129129
});
130130

131-
it('handles nobid responses', function () {
132-
let response = '';
131+
it('handles nobid response', function () {
132+
const response = undefined;
133133
let result = spec.interpretResponse({ body: response }, {bidderRequest});
134134
expect(result.length).to.equal(0);
135135
});

0 commit comments

Comments
 (0)