From aac22be8359d3caa8fcdb15a390f857252300526 Mon Sep 17 00:00:00 2001 From: Usman Date: Wed, 29 Mar 2017 13:55:50 +0200 Subject: [PATCH 1/5] widespace adapter: separating params with # and addding hb, and hb.ver into it --- src/adapters/widespace.js | 41 +++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/src/adapters/widespace.js b/src/adapters/widespace.js index 932168f1365..f3794f16eb1 100644 --- a/src/adapters/widespace.js +++ b/src/adapters/widespace.js @@ -1,11 +1,11 @@ import { getBidRequest } from '../utils.js'; -var utils = require('../utils.js'); -var adloader = require('../adloader.js'); -var bidmanager = require('../bidmanager.js'); -var bidfactory = require('../bidfactory.js'); - +const utils = require('../utils.js'); +const adloader = require('../adloader.js'); +const bidmanager = require('../bidmanager.js'); +const bidfactory = require('../bidfactory.js'); +const WS_ADAPTER_VERSION = '1.0.1'; function WidespaceAdapter() { let useSSL = 'https:' === document.location.protocol, @@ -17,9 +17,9 @@ function WidespaceAdapter() { for (var i = 0; i < bids.length; i++) { const bid = bids[i], - callbackUid = bid.bidId, - sid = bid.params.sid, - currency = bid.params.currency; + callbackUid = bid.bidId, + sid = bid.params.sid, + currency = bid.params.cur || bid.params.currency; //Handle Sizes string let sizeQueryString = ''; @@ -29,14 +29,24 @@ function WidespaceAdapter() { return prev ? `${prev},${curr}` : curr; }, sizeQueryString); - var requestURL = baseURL; - requestURL = utils.tryAppendQueryString(requestURL, 'hb.name', 'prebidjs'); - requestURL = utils.tryAppendQueryString(requestURL, 'hb.callback', callbackName); - requestURL = utils.tryAppendQueryString(requestURL, 'hb.callbackUid', callbackUid); - requestURL = utils.tryAppendQueryString(requestURL, 'hb.sizes', sizeQueryString); - requestURL = utils.tryAppendQueryString(requestURL, 'sid', sid); - requestURL = utils.tryAppendQueryString(requestURL, 'hb.currency', currency); + let params = { + 'hb': '1', + 'hb.ver': WS_ADAPTER_VERSION, + 'hb.name': 'prebidjs', + 'hb.callback': callbackName, + 'hb.callbackUid': callbackUid, + 'hb.sizes': sizeQueryString, + 'hb.currency': currency, + 'sid': sid + }; + + let requestURL = baseURL + '#'; + + // Append all params to requestURL + for (let key of Object.keys(params)) { + requestURL += key + '=' + params[key] + '&'; + } // Expose the callback $$PREBID_GLOBAL$$.widespaceHandleCB = window[callbackName] = handleCallback; @@ -66,6 +76,7 @@ function WidespaceAdapter() { placementCode = inBid.placementCode; validSizes = inBid.sizes; } + if (bid && bid.callbackUid && bid.status !=='noad' && verifySize(bid.sizes, validSizes)) { bidObject = bidfactory.createBid(1); bidObject.bidderCode = bidCode; From 561c196405c858e7af109863b27efe53af3d2a50 Mon Sep 17 00:00:00 2001 From: Usman Date: Wed, 29 Mar 2017 13:56:23 +0200 Subject: [PATCH 2/5] widespace adapter: update tests with new mandatory params --- test/spec/adapters/widespace_spec.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/spec/adapters/widespace_spec.js b/test/spec/adapters/widespace_spec.js index 66e567bbc9e..51e8254ffcd 100644 --- a/test/spec/adapters/widespace_spec.js +++ b/test/spec/adapters/widespace_spec.js @@ -101,6 +101,8 @@ describe('WidespaceAdapter', () => { it('should include required request parameters', () => { const endpointRequest = expect(adLoader.loadScript.firstCall.args[0]); endpointRequest.to.include('sid'); + endpointRequest.to.include('hb'); + endpointRequest.to.include('hb.ver'); endpointRequest.to.include('hb.callbackUid'); endpointRequest.to.include('hb.callback'); endpointRequest.to.include('hb.sizes'); From 6b60074398615af76b65e294386a5491351a0237 Mon Sep 17 00:00:00 2001 From: Usman Date: Mon, 3 Apr 2017 17:10:32 +0200 Subject: [PATCH 3/5] widespace adapter: add adapter version number before # so we can force specific cached request script based on our adapter version --- src/adapters/widespace.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/adapters/widespace.js b/src/adapters/widespace.js index f3794f16eb1..0f0f7101c21 100644 --- a/src/adapters/widespace.js +++ b/src/adapters/widespace.js @@ -29,9 +29,11 @@ function WidespaceAdapter() { return prev ? `${prev},${curr}` : curr; }, sizeQueryString); - let params = { + let requestURL = baseURL; + requestURL = utils.tryAppendQueryString(requestURL, 'hb.ver', WS_ADAPTER_VERSION); + + const params = { 'hb': '1', - 'hb.ver': WS_ADAPTER_VERSION, 'hb.name': 'prebidjs', 'hb.callback': callbackName, 'hb.callbackUid': callbackUid, @@ -40,8 +42,7 @@ function WidespaceAdapter() { 'sid': sid }; - - let requestURL = baseURL + '#'; + requestURL += '#'; // Append all params to requestURL for (let key of Object.keys(params)) { From 2bd7425c9071ef03d12c55b916aae8b76759ad76 Mon Sep 17 00:00:00 2001 From: Usman Date: Wed, 5 Apr 2017 09:50:31 +0200 Subject: [PATCH 4/5] widespace adapter: sid as query param --- src/adapters/widespace.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/adapters/widespace.js b/src/adapters/widespace.js index 0f0f7101c21..3c31fa35216 100644 --- a/src/adapters/widespace.js +++ b/src/adapters/widespace.js @@ -31,6 +31,7 @@ function WidespaceAdapter() { let requestURL = baseURL; requestURL = utils.tryAppendQueryString(requestURL, 'hb.ver', WS_ADAPTER_VERSION); + requestURL = utils.tryAppendQueryString(requestURL, 'sid', sid); const params = { 'hb': '1', @@ -38,8 +39,7 @@ function WidespaceAdapter() { 'hb.callback': callbackName, 'hb.callbackUid': callbackUid, 'hb.sizes': sizeQueryString, - 'hb.currency': currency, - 'sid': sid + 'hb.currency': currency }; requestURL += '#'; From 61080777dbd27411c84366f47df5f3c2ea6201bc Mon Sep 17 00:00:00 2001 From: Usman Date: Wed, 5 Apr 2017 15:27:24 +0200 Subject: [PATCH 5/5] widespace adapter: revert back sid after hash --- src/adapters/widespace.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/adapters/widespace.js b/src/adapters/widespace.js index 3c31fa35216..0f0f7101c21 100644 --- a/src/adapters/widespace.js +++ b/src/adapters/widespace.js @@ -31,7 +31,6 @@ function WidespaceAdapter() { let requestURL = baseURL; requestURL = utils.tryAppendQueryString(requestURL, 'hb.ver', WS_ADAPTER_VERSION); - requestURL = utils.tryAppendQueryString(requestURL, 'sid', sid); const params = { 'hb': '1', @@ -39,7 +38,8 @@ function WidespaceAdapter() { 'hb.callback': callbackName, 'hb.callbackUid': callbackUid, 'hb.sizes': sizeQueryString, - 'hb.currency': currency + 'hb.currency': currency, + 'sid': sid }; requestURL += '#';