Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest #4

Merged
merged 41 commits into from
Dec 21, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
96fef93
Added 980x150 size (#3334)
hdeodhar Nov 29, 2018
e9bd097
replaced deprecated getWindowTopLocation with refererInfo.referer (#3…
bansawbanchee Nov 30, 2018
7aef26e
new TapHype bidder adapter (#3319)
aeliox Dec 3, 2018
6f1d23b
fix(adyoulike): use bidderRequest referer info (#3339)
j343my Dec 3, 2018
b215559
Fix for Quantum Adapter empty size detection (#3329)
benjaminclot Dec 4, 2018
5e3f144
update gulp packages to address vulnerability (#3343)
jsnellbaker Dec 4, 2018
96df52f
initial version of ozone adapter for review (#3307)
afsheenb Dec 4, 2018
f7473c7
update AdGenetation adapter (+1 squashed commit) (#3327)
banakemi Dec 4, 2018
d933a96
adding additional bid request validity checks. updating how we grab …
EMXDigital Dec 4, 2018
9e752d8
Update TTL to 30 mins (#3345)
Dec 4, 2018
9271d36
Set the OpenRTB device dimensions (#3336)
dbemiller Dec 4, 2018
00c955a
removing out console.log statements in ozoneBidAdapter test file (#3349)
jsnellbaker Dec 4, 2018
e8d9b1a
Prebid 1.35.0 Release
jsnellbaker Dec 4, 2018
650aa3a
increment pre version
jsnellbaker Dec 4, 2018
f80f2d5
Bidfluence Adapter update - Single call (#3347)
francescocristallo Dec 7, 2018
3b7f462
conditionally adds another param to browserParams (#3355)
susyt Dec 7, 2018
ca69912
enable ozone to support multiple bid responses (#3354)
afsheenb Dec 7, 2018
efc28ad
increment to correct pre version
jsnellbaker Dec 7, 2018
8fa2a84
update unit test example to mocha recommendations (#3361)
jsnellbaker Dec 7, 2018
522a0ce
Supply2 Bid Adapter (#3335)
Vishalrkanse Dec 7, 2018
13182f7
Dctr fixes (#3337)
pm-manasi-moghe Dec 7, 2018
5a2282e
Added publisher common ID support to sonobi adapter. (#3363)
edahood-sonobi Dec 10, 2018
239f180
adding native parameters: body2, rating, privacyLink (#3348)
aneuway2 Dec 10, 2018
f424cd2
Add user sync pixel logic in Adtelligent adapter (#3359)
GeneGenie Dec 10, 2018
88156e7
AppNexus debug auction via cookie (#3314)
aneuway2 Dec 10, 2018
4c1f690
fix bug when syncsPerBidder was set to 0 (#3360)
jsnellbaker Dec 13, 2018
ba49c0d
update conversant bid adapter to use video playerSize instead of size…
sohlhausen Dec 13, 2018
5253d29
Remove application json from bid request header (#3346)
ankur-modi Dec 13, 2018
bbc6316
feat(video-platform-ids): BID-3468: video support for platform IDs (#…
rjvelicaria Dec 14, 2018
32a611d
Add a new adapter for Appier bidder. (#3370)
PCMan-Appier Dec 14, 2018
65afce6
new no bid event and no bids available from auction (#3286)
snapwich Dec 17, 2018
14bf872
New bidder adapter for collectcent (#3365)
devcollectcent Dec 18, 2018
514fc5f
Added 640x360 size (#3388)
hdeodhar Dec 18, 2018
05df581
Added 250x800 size (#3390)
hdeodhar Dec 18, 2018
9277365
update AJA adapter: support user sync by iframe (#3382)
naoto0822 Dec 18, 2018
7224e78
Prebid 1.36.0 Release
Dec 18, 2018
691dcf6
Increment pre version
Dec 18, 2018
f2e5f17
add support for userSyncLimit field in s2sConfig (#3375)
jsnellbaker Dec 18, 2018
49ea705
Rivr thin adapter (#3351)
Dec 19, 2018
e5f4255
Fix multi-bid adId in Criteo bid adapter (#3340)
Spark-NF Dec 19, 2018
e476021
Modified the Telaria Bid Adapter to use bid.mediaTypes.video.playerSi…
telariaEng Dec 20, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ A test module might have the following general structure:
import { expect } from 'chai'; // may prefer 'assert' in place of 'expect'
import adapter from 'src/adapters/<adapter>';

describe('<Adapter>', () => {
it('<description of unit or feature being tested>', () => {
describe('<Adapter>', function () {
it('<description of unit or feature being tested>', function () {
// Arrange - set up preconditions and inputs
// Act - call or act on the code under test
// Assert - use chai to check that expected results have occurred
Expand Down
76 changes: 26 additions & 50 deletions gulpfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ var _ = require('lodash');
var argv = require('yargs').argv;
var gulp = require('gulp');
var gutil = require('gulp-util');
var connect = require('gulp-connect');
var webserver = require('gulp-webserver');
var webpack = require('webpack');
var webpackStream = require('webpack-stream');
var uglify = require('gulp-uglify');
Expand Down Expand Up @@ -56,11 +56,12 @@ function e2etestReport() {
var reportPort = 9010;
var targetDestinationDir = './e2etest-report';
helpers.createEnd2EndTestReport(targetDestinationDir);
connect.server({
port: reportPort,
root: './',
livereload: true
});
gulp.src('./')
.pipe(webserver({
port: reportPort,
directoryListing: true,
livereload: true
}));

setTimeout(function() {
opens('http://localhost:' + reportPort + '/' + targetDestinationDir.slice(2) + '/results.html');
Expand Down Expand Up @@ -90,13 +91,14 @@ function lint(done) {
function viewCoverage(done) {
var coveragePort = 1999;

connect.server({
port: coveragePort,
root: 'build/coverage/karma_html',
livereload: false
});
opens('http://localhost:' + coveragePort);
done();
var stream = gulp.src('./')
.pipe(webserver({
port: coveragePort,
directoryListing: true,
livereload: false,
open: 'build/coverage/karma_html/index.html'
}));
stream.on('finish', done);
};
viewCoverage.displayName = 'view-coverage';

Expand All @@ -113,16 +115,17 @@ function watch(done) {
'test/spec/loaders/**/*.js'
]);

connect.server({
https: argv.https,
port: port,
root: './',
livereload: true
});
var stream = gulp.src('./')
.pipe(webserver({
https: argv.https,
port: port,
directoryListing: true,
livereload: true
}));

mainWatcher.on('all', gulp.series(clean, gulp.parallel(lint, 'build-bundle-dev', test)));
loaderWatcher.on('all', gulp.series(lint));
done();
stream.on('finish', done);
};

function makeDevpackPkg() {
Expand All @@ -137,8 +140,7 @@ function makeDevpackPkg() {
.pipe(helpers.nameModules(externalModules))
.pipe(webpackStream(cloned, webpack))
.pipe(replace('$prebid.version$', prebid.version))
.pipe(gulp.dest('build/dev'))
.pipe(connect.reload());
.pipe(gulp.dest('build/dev'));
}

function makeWebpackPkg() {
Expand All @@ -158,8 +160,7 @@ function makeWebpackPkg() {
.pipe(uglify())
.pipe(gulpif(file => file.basename === 'prebid-core.js', header(banner, { prebid: prebid })))
.pipe(optimizejs())
.pipe(gulp.dest('build/dist'))
.pipe(connect.reload());
.pipe(gulp.dest('build/dist'));
}

function gulpBundle(dev) {
Expand Down Expand Up @@ -227,12 +228,7 @@ function newKarmaCallback(done) {
if (exitCode) {
done(new Error('Karma tests failed with exit code ' + exitCode));
} else {
if (argv.browserstack) {
// process.exit(0);
done(); // test this with travis (or circleci)
} else {
done();
}
done();
}
}
}
Expand Down Expand Up @@ -273,26 +269,6 @@ function coveralls() { // 2nd arg is a dependency: 'test' must be finished
.pipe(shell('cat build/coverage/lcov.info | node_modules/coveralls/bin/coveralls.js'));
}

// Watch Task with Live Reload
gulp.task('watch', function () {
gulp.watch([
'src/**/*.js',
'modules/**/*.js',
'test/spec/**/*.js',
'!test/spec/loaders/**/*.js'
], ['build-bundle-dev', 'test']);
gulp.watch([
'loaders/**/*.js',
'test/spec/loaders/**/*.js'
], ['lint']);
connect.server({
https: argv.https,
port: port,
root: './',
livereload: true
});
});

function e2eTest() {
var cmdQueue = [];
if (argv.browserstack) {
Expand Down
12 changes: 6 additions & 6 deletions modules/adgenerationBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,6 @@ export const spec = {
return [];
}
const bidRequest = bidRequests.bidRequest;
if (!bidRequest.mediaTypes || bidRequest.mediaTypes.banner) {
if (!body.w || !body.h) {
return [];
}
}
const bidResponse = {
requestId: bidRequest.bidId,
cpm: body.cpm || 0,
Expand All @@ -91,7 +86,7 @@ export const spec = {
netRevenue: true,
ttl: body.ttl || 10,
};
if (bidRequest.mediaTypes && bidRequest.mediaTypes.native) {
if (isNative(body)) {
bidResponse.native = createNativeAd(body);
bidResponse.mediaType = NATIVE;
} else {
Expand Down Expand Up @@ -124,6 +119,11 @@ function createAd(body, bidRequest) {
return ad;
}

function isNative(body) {
if (!body) return false;
return body.native_ad && body.native_ad.assets.length > 0;
}

function createNativeAd(body) {
let native = {};
if (body.native_ad && body.native_ad.assets.length > 0) {
Expand Down
37 changes: 35 additions & 2 deletions modules/adtelligentBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,43 @@ export const spec = {
isBidRequestValid: function (bid) {
return bid && bid.params && bid.params.aid;
},
getUserSyncs: function (syncOptions, serverResponses) {
var syncs = [];

function addSyncs(_s) {
if (_s && _s.length) {
_s.forEach(s => {
syncs.push({
type: 'image',
url: s
})
})
}
}

if (syncOptions.pixelEnabled) {
serverResponses && serverResponses.length && serverResponses.forEach((response) => {
if (response.body) {
if (utils.isArray(response.body)) {
response.body.forEach(b => {
addSyncs(b.cookieURLs);
})
} else {
addSyncs(response.body.cookieURLs)
}
}
})
}
return syncs;
},
/**
* Make a server request from the list of BidRequests
* @param bidRequests
* @param bidderRequest
*/
buildRequests: function (bidRequests, bidderRequest) {
return {
data: bidToTag(bidRequests),
data: bidToTag(bidRequests, bidderRequest),
bidderRequest,
method: 'GET',
url: URL
Expand Down Expand Up @@ -83,11 +111,16 @@ function parseRTBResponse(serverResponse, bidderRequest) {
return bids;
}

function bidToTag(bidRequests) {
function bidToTag(bidRequests, bidderRequest) {
let tag = {
domain: utils.getTopWindowLocation().hostname
};

if (bidderRequest && bidderRequest.gdprConsent) {
tag.gdpr = 1;
tag.gdpr_consent = bidderRequest.gdprConsent.consentString;
}

for (let i = 0, length = bidRequests.length; i < length; i++) {
Object.assign(tag, prepareRTBRequestParams(i, bidRequests[i]));
}
Expand Down
22 changes: 9 additions & 13 deletions modules/adyoulikeBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ export const spec = {
* @return ServerRequest Info describing the request to the server.
*/
buildRequests: function (bidRequests, bidderRequest) {
let dcHostname = getHostname(bidRequests);
const payload = {
Version: VERSION,
Bids: bidRequests.reduce((accumulator, bid) => {
Expand Down Expand Up @@ -60,7 +59,7 @@ export const spec = {

return {
method: 'POST',
url: createEndpoint(dcHostname),
url: createEndpoint(bidRequests, bidderRequest),
data,
options
};
Expand Down Expand Up @@ -94,14 +93,10 @@ function getHostname(bidderRequest) {
}

/* Get current page referrer url */
function getReferrerUrl() {
function getReferrerUrl(bidderRequest) {
let referer = '';
if (window.self !== window.top) {
try {
referer = window.top.document.referrer;
} catch (e) { }
} else {
referer = document.referrer;
if (bidderRequest && bidderRequest.refererInfo) {
referer = encodeURIComponent(bidderRequest.refererInfo.referer);
}
return referer;
}
Expand Down Expand Up @@ -134,20 +129,21 @@ function getPageRefreshed() {
}

/* Create endpoint url */
function createEndpoint(host) {
function createEndpoint(bidRequests, bidderRequest) {
let host = getHostname(bidRequests);
return format({
protocol: (document.location.protocol === 'https:') ? 'https' : 'http',
host: `${DEFAULT_DC}${host}.omnitagjs.com`,
pathname: '/hb-api/prebid/v1',
search: createEndpointQS()
search: createEndpointQS(bidderRequest)
});
}

/* Create endpoint query string */
function createEndpointQS() {
function createEndpointQS(bidderRequest) {
const qs = {};

const ref = getReferrerUrl();
const ref = getReferrerUrl(bidderRequest);
if (ref) {
qs.RefererUrl = encodeURIComponent(ref);
}
Expand Down
30 changes: 21 additions & 9 deletions modules/ajaBidAdapter.js
Original file line number Diff line number Diff line change
Expand Up @@ -93,16 +93,28 @@ export const spec = {

getUserSyncs: function(syncOptions, serverResponses) {
const syncs = [];
if (syncOptions.pixelEnabled && serverResponses.length) {
const bidderResponseBody = serverResponses[0].body;
if (bidderResponseBody.syncs) {
bidderResponseBody.syncs.forEach(sync => {
syncs.push({
type: 'image',
url: sync
});
if (!serverResponses.length) {
return syncs;
}

const bidderResponseBody = serverResponses[0].body;

if (syncOptions.pixelEnabled && bidderResponseBody.syncs) {
bidderResponseBody.syncs.forEach(sync => {
syncs.push({
type: 'image',
url: sync
});
}
});
}

if (syncOptions.iframeEnabled && bidderResponseBody.sync_htmls) {
bidderResponseBody.sync_htmls.forEach(sync => {
syncs.push({
type: 'iframe',
url: sync
});
});
}

return syncs;
Expand Down
Loading