From 5ac61b971099064a2508eab9f6ba818b33dfdd0f Mon Sep 17 00:00:00 2001 From: "elber@yieldmo.com" Date: Thu, 24 Mar 2022 15:48:27 -0400 Subject: [PATCH 1/5] Add stage bidder service --- modules/yieldmoBidAdapter.js | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/yieldmoBidAdapter.js b/modules/yieldmoBidAdapter.js index bc29f4822c8..e399254a7ba 100644 --- a/modules/yieldmoBidAdapter.js +++ b/modules/yieldmoBidAdapter.js @@ -24,6 +24,7 @@ const CURRENCY = 'USD'; const TIME_TO_LIVE = 300; const NET_REVENUE = true; const BANNER_SERVER_ENDPOINT = 'https://ads.yieldmo.com/exchange/prebid'; +const BANNER_STG_SERVER_ENDPOINT = 'http://qa-test-01.aws.in.yieldmo.com:8080/bidder?bidderId=1&placementId=2438568554933461939'; const VIDEO_SERVER_ENDPOINT = 'https://ads.yieldmo.com/exchange/prebidvideo'; const OUTSTREAM_VIDEO_PLAYER_URL = 'https://prebid-outstream.yieldmo.com/bundle.js'; const OPENRTB_VIDEO_BIDPARAMS = ['mimes', 'startdelay', 'placement', 'startdelay', 'skipafter', 'protocols', 'api', From 744d914c9f1bc99b8d7b7e3c54b95db0aa2cd882 Mon Sep 17 00:00:00 2001 From: "elber@yieldmo.com" Date: Mon, 28 Mar 2022 11:50:11 -0400 Subject: [PATCH 2/5] add stage url --- modules/yieldmoBidAdapter.js | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/modules/yieldmoBidAdapter.js b/modules/yieldmoBidAdapter.js index 3d305910077..b1cb3b9617b 100644 --- a/modules/yieldmoBidAdapter.js +++ b/modules/yieldmoBidAdapter.js @@ -60,6 +60,7 @@ export const spec = { * @return ServerRequest Info describing the request to the server. */ buildRequests: function (bidRequests, bidderRequest) { + const stage = isStage(bidderRequest); const bannerBidRequests = bidRequests.filter(request => hasBannerMediaType(request)); const videoBidRequests = bidRequests.filter(request => hasVideoMediaType(request)); let serverRequests = []; @@ -123,8 +124,8 @@ export const spec = { serverRequest.eids = JSON.stringify(eids); }; // check if url exceeded max length - const url = `${BANNER_SERVER_ENDPOINT}?${parseQueryStringParameters(serverRequest)}`; - let extraCharacters = url.length - MAX_BANNER_REQUEST_URL_LENGTH; + const fullUrl = `${BANNER_SERVER_ENDPOINT}?${parseQueryStringParameters(serverRequest)}`; + let extraCharacters = fullUrl.length - MAX_BANNER_REQUEST_URL_LENGTH; if (extraCharacters > 0) { for (let i = 0; i < BANNER_REQUEST_PROPERTIES_TO_REDUCE.length; i++) { extraCharacters = shortcutProperty(extraCharacters, serverRequest, BANNER_REQUEST_PROPERTIES_TO_REDUCE[i]); @@ -137,7 +138,7 @@ export const spec = { serverRequests.push({ method: 'GET', - url: BANNER_SERVER_ENDPOINT, + url: getBannerUrl(stage), data: serverRequest }); } @@ -662,3 +663,14 @@ function canAccessTopWindow() { return false; } } + +function isStage(bidderRequest) { + return bidderRequest.refererInfo?.referer?.contains('pb_force_a'); +} + +function getBannerUrl(isStage) { + if (isStage) { + return BANNER_STG_SERVER_ENDPOINT; + } + return BANNER_SERVER_ENDPOINT; +} From 84c2fb01b98f677763ca5c87b7c8641259bb65a7 Mon Sep 17 00:00:00 2001 From: "elber@yieldmo.com" Date: Mon, 28 Mar 2022 14:35:31 -0400 Subject: [PATCH 3/5] fix url --- modules/yieldmoBidAdapter.js | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/modules/yieldmoBidAdapter.js b/modules/yieldmoBidAdapter.js index b1cb3b9617b..7cf1433ad8c 100644 --- a/modules/yieldmoBidAdapter.js +++ b/modules/yieldmoBidAdapter.js @@ -23,10 +23,13 @@ const BIDDER_CODE = 'yieldmo'; const CURRENCY = 'USD'; const TIME_TO_LIVE = 300; const NET_REVENUE = true; -const BANNER_SERVER_ENDPOINT = 'https://ads.yieldmo.com/exchange/prebid'; const BANNER_STG_SERVER_ENDPOINT = 'http://qa-test-01.aws.in.yieldmo.com:8080/bidder?bidderId=1&placementId=2438568554933461939'; const VIDEO_SERVER_ENDPOINT = 'https://ads.yieldmo.com/exchange/prebidvideo'; const PB_COOKIE_ASSIST_SYNC_ENDPOINT = `https://ads.yieldmo.com/pbcas`; +const BANNER_PATH = '/exchange/prebid'; +const VIDEO_PATH = '/exchange/prebidvideo'; +const STAGE_DOMAIN = 'https://ads-stg.yieldmo.com'; +const PROD_DOMAIN = 'https://ads.yieldmo.com'; const OUTSTREAM_VIDEO_PLAYER_URL = 'https://prebid-outstream.yieldmo.com/bundle.js'; const OPENRTB_VIDEO_BIDPARAMS = ['mimes', 'startdelay', 'placement', 'startdelay', 'skipafter', 'protocols', 'api', 'playbackmethod', 'maxduration', 'minduration', 'pos', 'skip', 'skippable']; @@ -61,6 +64,8 @@ export const spec = { */ buildRequests: function (bidRequests, bidderRequest) { const stage = isStage(bidderRequest); + const bannerUrl = getAdserverUrl(BANNER_PATH, stage); + const videoUrl = getAdserverUrl(VIDEO_PATH, stage); const bannerBidRequests = bidRequests.filter(request => hasBannerMediaType(request)); const videoBidRequests = bidRequests.filter(request => hasVideoMediaType(request)); let serverRequests = []; @@ -124,7 +129,7 @@ export const spec = { serverRequest.eids = JSON.stringify(eids); }; // check if url exceeded max length - const fullUrl = `${BANNER_SERVER_ENDPOINT}?${parseQueryStringParameters(serverRequest)}`; + const fullUrl = `${bannerUrl}?${parseQueryStringParameters(serverRequest)}`; let extraCharacters = fullUrl.length - MAX_BANNER_REQUEST_URL_LENGTH; if (extraCharacters > 0) { for (let i = 0; i < BANNER_REQUEST_PROPERTIES_TO_REDUCE.length; i++) { @@ -138,7 +143,7 @@ export const spec = { serverRequests.push({ method: 'GET', - url: getBannerUrl(stage), + url: bannerUrl, data: serverRequest }); } @@ -150,7 +155,7 @@ export const spec = { }; serverRequests.push({ method: 'POST', - url: VIDEO_SERVER_ENDPOINT, + url: videoUrl, data: serverRequest }); } @@ -668,9 +673,7 @@ function isStage(bidderRequest) { return bidderRequest.refererInfo?.referer?.contains('pb_force_a'); } -function getBannerUrl(isStage) { - if (isStage) { - return BANNER_STG_SERVER_ENDPOINT; - } - return BANNER_SERVER_ENDPOINT; +function getAdserverUrl(path, stage) { + const domain = stage ? STAGE_DOMAIN : PROD_DOMAIN; + return `${domain}${path}`; } From 66eb6e40890956a1bc7862994a2776996b36d309 Mon Sep 17 00:00:00 2001 From: "elber@yieldmo.com" Date: Mon, 28 Mar 2022 15:18:10 -0400 Subject: [PATCH 4/5] fix string method --- modules/yieldmoBidAdapter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/yieldmoBidAdapter.js b/modules/yieldmoBidAdapter.js index 7cf1433ad8c..a06239b6d15 100644 --- a/modules/yieldmoBidAdapter.js +++ b/modules/yieldmoBidAdapter.js @@ -670,7 +670,7 @@ function canAccessTopWindow() { } function isStage(bidderRequest) { - return bidderRequest.refererInfo?.referer?.contains('pb_force_a'); + return !!bidderRequest.refererInfo?.referer?.includes('pb_force_a'); } function getAdserverUrl(path, stage) { From 7c4658f29b2dddb90dd6706f2539bfe5f705608c Mon Sep 17 00:00:00 2001 From: "elber@yieldmo.com" Date: Tue, 19 Jul 2022 07:41:22 -0400 Subject: [PATCH 5/5] clean up rebase --- modules/yieldmoBidAdapter.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/yieldmoBidAdapter.js b/modules/yieldmoBidAdapter.js index a06239b6d15..bcc0c0a9570 100644 --- a/modules/yieldmoBidAdapter.js +++ b/modules/yieldmoBidAdapter.js @@ -23,8 +23,6 @@ const BIDDER_CODE = 'yieldmo'; const CURRENCY = 'USD'; const TIME_TO_LIVE = 300; const NET_REVENUE = true; -const BANNER_STG_SERVER_ENDPOINT = 'http://qa-test-01.aws.in.yieldmo.com:8080/bidder?bidderId=1&placementId=2438568554933461939'; -const VIDEO_SERVER_ENDPOINT = 'https://ads.yieldmo.com/exchange/prebidvideo'; const PB_COOKIE_ASSIST_SYNC_ENDPOINT = `https://ads.yieldmo.com/pbcas`; const BANNER_PATH = '/exchange/prebid'; const VIDEO_PATH = '/exchange/prebidvideo';