@@ -200,6 +200,7 @@ export function appendUserIdsToRequestPayload(payloadRef, userIds) {
200
200
let key ;
201
201
_each ( userIds , ( userId , idSystemProviderName ) => {
202
202
key = `uid.${ idSystemProviderName } ` ;
203
+
203
204
switch ( idSystemProviderName ) {
204
205
case 'lipb' :
205
206
payloadRef [ key ] = userId . lipbid ;
@@ -217,7 +218,7 @@ export function getVidazooSessionId(storage) {
217
218
return getStorageItem ( storage , SESSION_ID_KEY ) || '' ;
218
219
}
219
220
220
- export function buildRequestData ( bid , topWindowUrl , sizes , bidderRequest , bidderTimeout , webSessionId , storage , bidderVersion , bidderCode , getUniqueRequestData ) {
221
+ export function buildRequestData ( bid , topWindowUrl , sizes , bidderRequest , bidderTimeout , storage , bidderVersion , bidderCode , getUniqueRequestData ) {
221
222
const {
222
223
params,
223
224
bidId,
@@ -234,7 +235,7 @@ export function buildRequestData(bid, topWindowUrl, sizes, bidderRequest, bidder
234
235
const { ext} = params ;
235
236
let { bidFloor} = params ;
236
237
const hashUrl = hashCode ( topWindowUrl ) ;
237
- const uniqueRequestData = isFn ( getUniqueRequestData ) ? getUniqueRequestData ( hashUrl ) : { } ;
238
+ const uniqueRequestData = isFn ( getUniqueRequestData ) ? getUniqueRequestData ( hashUrl , bid ) : { } ;
238
239
const uniqueDealId = getUniqueDealId ( storage , hashUrl ) ;
239
240
const pId = extractPID ( params ) ;
240
241
const isStorageAllowed = bidderSettings . get ( bidderCode , 'storageAllowed' ) ;
@@ -285,7 +286,6 @@ export function buildRequestData(bid, topWindowUrl, sizes, bidderRequest, bidder
285
286
bidderRequestsCount : bidderRequestsCount ,
286
287
bidderWinsCount : bidderWinsCount ,
287
288
bidderTimeout : bidderTimeout ,
288
- webSessionId : webSessionId ,
289
289
...uniqueRequestData
290
290
} ;
291
291
@@ -331,13 +331,13 @@ export function buildRequestData(bid, topWindowUrl, sizes, bidderRequest, bidder
331
331
return data ;
332
332
}
333
333
334
- export function createInterpretResponseFn ( bidderCode ) {
334
+ export function createInterpretResponseFn ( bidderCode , allowSingleRequest ) {
335
335
return function interpretResponse ( serverResponse , request ) {
336
336
if ( ! serverResponse || ! serverResponse . body ) {
337
337
return [ ] ;
338
338
}
339
339
340
- const singleRequestMode = config . getConfig ( `${ bidderCode } .singleRequest` ) ;
340
+ const singleRequestMode = allowSingleRequest && config . getConfig ( `${ bidderCode } .singleRequest` ) ;
341
341
const reqBidId = deepAccess ( request , 'data.bidId' ) ;
342
342
const { results} = serverResponse . body ;
343
343
@@ -410,12 +410,12 @@ export function createInterpretResponseFn(bidderCode) {
410
410
}
411
411
}
412
412
413
- export function createBuildRequestsFn ( createRequestDomain , createUniqueRequestData , webSessionId , storage , bidderCode , bidderVersion ) {
413
+ export function createBuildRequestsFn ( createRequestDomain , createUniqueRequestData , storage , bidderCode , bidderVersion , allowSingleRequest ) {
414
414
function buildRequest ( bid , topWindowUrl , sizes , bidderRequest , bidderTimeout ) {
415
415
const { params} = bid ;
416
416
const cId = extractCID ( params ) ;
417
417
const subDomain = extractSubDomain ( params ) ;
418
- const data = buildRequestData ( bid , topWindowUrl , sizes , bidderRequest , bidderTimeout , webSessionId , storage , bidderVersion , bidderCode , createUniqueRequestData ) ;
418
+ const data = buildRequestData ( bid , topWindowUrl , sizes , bidderRequest , bidderTimeout , storage , bidderVersion , bidderCode , createUniqueRequestData ) ;
419
419
const dto = {
420
420
method : 'POST' , url : `${ createRequestDomain ( subDomain ) } /prebid/multi/${ cId } ` , data : data
421
421
} ;
@@ -428,7 +428,7 @@ export function createBuildRequestsFn(createRequestDomain, createUniqueRequestDa
428
428
const subDomain = extractSubDomain ( params ) ;
429
429
const data = bidRequests . map ( bid => {
430
430
const sizes = parseSizesInput ( bid . sizes ) ;
431
- return buildRequestData ( bid , topWindowUrl , sizes , bidderRequest , bidderTimeout , webSessionId , storage , bidderVersion , bidderCode , createUniqueRequestData )
431
+ return buildRequestData ( bid , topWindowUrl , sizes , bidderRequest , bidderTimeout , storage , bidderVersion , bidderCode , createUniqueRequestData )
432
432
} ) ;
433
433
const chunkSize = Math . min ( 20 , config . getConfig ( `${ bidderCode } .chunkSize` ) || 10 ) ;
434
434
@@ -445,11 +445,10 @@ export function createBuildRequestsFn(createRequestDomain, createUniqueRequestDa
445
445
}
446
446
447
447
return function buildRequests ( validBidRequests , bidderRequest ) {
448
- // TODO: does the fallback make sense here?
449
448
const topWindowUrl = bidderRequest . refererInfo . page || bidderRequest . refererInfo . topmostLocation ;
450
449
const bidderTimeout = config . getConfig ( 'bidderTimeout' ) ;
451
450
452
- const singleRequestMode = config . getConfig ( 'vidazoo .singleRequest' ) ;
451
+ const singleRequestMode = allowSingleRequest && config . getConfig ( ` ${ bidderCode } .singleRequest` ) ;
453
452
454
453
const requests = [ ] ;
455
454
0 commit comments