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

#615 Beachfront URLs from config #1238

Merged
merged 3 commits into from
Apr 15, 2020

Conversation

kdesput
Copy link
Contributor

@kdesput kdesput commented Mar 31, 2020

Added getting Beachfront URLs from config

config/config.go Outdated
@@ -247,6 +247,9 @@ type Adapter struct {
// needed for Facebook
PlatformID string `mapstructure:"platform_id"`
AppSecret string `mapstructure:"app_secret"`

// needed for Beachfront adapter with separate endpoint for video
VideoEndpoint string `mapstructure:"video_endpoint"`
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We now have the ExtraAdapterInfo config object which is meant to be a JSON string that can contain extra adapter config data. We are encouraging adapters to use this instead of adding on extra parameters to the main object, so we don't balloon out to a dozen new single-adapter fields in this config object.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note that beachfront has noted this. Thank you.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the review. I have just updated the PR to get the video endpoint from the ExtraAdapterInfo object.

@kdesput kdesput force-pushed the beachfront-urls-from-config branch from f0927d2 to 2adc563 Compare April 6, 2020 20:12
@kdesput kdesput requested a review from hhhjort April 6, 2020 20:17
guscarreon
guscarreon previously approved these changes Apr 7, 2020
Copy link
Contributor

@guscarreon guscarreon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

func removeVideoElement(slice []beachfrontVideoRequest, s int) []beachfrontVideoRequest {
return append(slice[:s], slice[s+1:]...)
}

func NewBeachfrontBidder() *BeachfrontAdapter {
return &BeachfrontAdapter{}
func NewBeachfrontBidder(bannerEndpoint string, extraAdapterInfo string) adapters.Bidder {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You may want to either provide a default video endpoint, or put some checks in to not attempt to bid on video traffic if one is not available. I can see some issues occurring if the adapter is trying to generate requests to a blank URL.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added the default video endpoint URL. Its value is used when the extraAdapterInfo is empty or it doesn't contain the value for video endpoint URL.

@hhhjort
Copy link
Collaborator

hhhjort commented Apr 13, 2020

Other than the point on handling the case of a missing video endpoint, it all looks good to me. Sorry for not catching that point sooner.

Copy link
Contributor

@guscarreon guscarreon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@SyntaxNode SyntaxNode merged commit f07b1c3 into prebid:master Apr 15, 2020
PubMatic-OpenWrap added a commit to PubMatic-OpenWrap/prebid-server that referenced this pull request Jun 26, 2020
* adding yieldmo vendor id to usersync (prebid#1166)

* Add SmartRTB adapter (prebid#1071)

* Added new adapter for CPMStar ad network banners and video (prebid#1159)

* Update the Conversant sync pixel (prebid#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (prebid#1170)

* [currencies] fix GetInfo() null ref issue (prebid#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: prebid#1136

* Fix triplelift User Sync (prebid#1173)

* Enhance Message For Cache Errors (prebid#1175)

* Fix PubMatic Usersync URL (prebid#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (prebid#1165)

* Remove all non-secure calls from eplanning adapter (prebid#1179)

* Expose Cache HTTP Settings (prebid#1184)

* Adding bid rejection messages to debug response (prebid#1181)

* Adds timeout notifications for Facebook (prebid#1182)

* VIS.X: added app type support (prebid#1194)

* Add Adoppler bidder support. (prebid#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (prebid#1183)

* updating default hard-coded list of certs (prebid#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (prebid#1195)

* Adding copying of gdpr consent string to openrtb bid request (prebid#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (prebid#1208)

* openx adapter: forward bid response currency in openx adapter if set (prebid#1211)

it was always set to the default USD before

* add ucfunnel adapter (prebid#1192)

* Update required params for TheMediaGrid adapter (prebid#1188)

* add zeroclickfraud adapter (prebid#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (prebid#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (prebid#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (prebid#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (prebid#1199)

* Add ValueImpression Adapter (prebid#1204)

* Kidoz adapter (prebid#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (prebid#1224)

Fix type

* Update auction.md (prebid#1225)

Fix typo.

* Added logging to cache for video endpoint (prebid#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (prebid#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (prebid#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (prebid#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (prebid#1232)

* treat 204 from FAN as a no bids response (prebid#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (prebid#1187)

* Update rubicon.md (prebid#1234)

* adding schain interface (prebid#1203)

* added Rewarded Video section (prebid#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (prebid#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (prebid#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (prebid#1250)

* replacing info@prebid.org maintainer email addrs (prebid#1256)

* aligning maintainer info (prebid#1258)

* Add kidoz bidder info (prebid#1257)

got this info from email communication with kidoz

* Add Cropping of BAdv for Rubicon Adapter (prebid#1254)

* Add Cropping of BAdv for Rubicon Adapter

BAdv size is limited to 50

* Fix after review

Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>

* Added metrics support to endpoint aspect (prebid#1226)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Prebid Server adapter for Telaria (prebid#1231)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* #615 Beachfront URLs from config (prebid#1238)

* Add nil check errors when setting native asset types (prebid#1260)

* Bugfix: no bids from bidder handling (prebid#1252)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add missing categories to AppNexus -> IAB mapping file. (prebid#1264)

* Add missing categories to AppNexus -> IAB mapping file.

* Remove entry for category 38 which was set to a primary IAB category instead of a sub-category.

* Fix order of category 22

* Yieldone s2s Bid Adapter (prebid#1242)

* Added new Yieldone Bid s2s Adapter

* Update endpoint for yieldone bid adapter

* Fixes after review for Yieldone Bid s2s Adapter

* Fix typeo in Yieldone s2s Bid Adapter

* Fix: URL de sync (prebid#1261)

* populate the app ID in the FAN timeout notif url with the publisher ID (prebid#1265)

and the auction with the request ID

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* Added header User Agent decoding (prebid#1268)

* Added header User Agent decoding

* Added header User Agent decoding: unit tests

* Added header User Agent decoding: unit tests

* Added check UA is encoded to avoid `+` converted to space

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Ad Generation Adapter Integration. (prebid#1253)

* AdGeneration Integration.

* update AdGeneration adapter.
fix: some methods of the adgAdapter replace to functions.
fix: unmarshal functions return a pointer.
fix: header is defined once.
fix: return when imps is appended

* update AdGeneration Adapter.

add: Added a comment in usersync.
add: Added a test for parameters whose ID does not exist in params_test.
change: Change to query creation by net/url. Added getRawQuery Test.
fix: Changed variable names related to bidRequest.

* Fix Go 1.14 Error Message Changes (prebid#1271)

* NinthDecimal Adapter (prebid#1249)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* * Add PubMatic bidder doc file (prebid#1255)

* Add app video capability to PubMatic bidder info file

* Appnexus adapter: Add category mapping for government. (prebid#1278)

* Update a Freewheel mapping to Gaming category. (prebid#1280)

* Add AJA adapter (prebid#1269)

* OpenX adapter: Pass gdpr and gdpr_consent to user sync endpoint (prebid#1282)

I've also updated the test to avoid any confusion.

* OpenX adapter: Enable video for app (prebid#1281)

* fix conversant sync pixel (prebid#1284)

* Add AdOcean adapter (prebid#1273)

* [ADOCEAN-20132] AdOcean adapter

* [ADOCEAN-20132] AdOcean adapter - support for gdpr

* [ADOCEAN-20132] AdOcean adapter - tests

* [ADOCEAN-20132] AdOcean adapter - user sync

* [ADOCEAN-20132] AdOcean adapter - formatting

* [ADOCEAN-20132] AdOcean adapter - send uuid to emitter

* [ADOCEAN-20132] adocean adapter - return nil if there is no creative

* [ADOCEAN-20132] AdOcean adapter - add version parameter

* [ADOCEAN-20132] AdOcean adapter - optimization

* [ADOCEAN-20132] AdOcean adapter - add to syncer_test.go

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove whitespaces in js code on adapter initialization instead on every request
* check if request.Site is not nil
* reuse newUri variable

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* do not terminate the auction on a single faulty bid

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove unnecessary input parameters check
* small optimization

* LunaMedia Adapter (prebid#1285)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* [Sharethrough] Add CCPA support (prebid#1263)

* Handle gzip responses from ad server correctly

* Bump to version 8

* [Go Modules] Add proxy (prebid#1079)

* Add SSL cert for accessing stored request API (prebid#1087)

* [misspell] fix a misspell (prebid#1102)

* update static bidder params for rubicon video to follow the json marshalling names (prebid#1100)

* Switching yieldmo auction endpoint from http to https (prebid#1103)

* Add Datablocks Adapter (prebid#1095)

* datablocks bid adapter

* ttx

* add test json

* add coverage

* redo ttx

* formatted

* better error handling

* additional tests and recomended fixes

* Adding translatecategories flag to includebrandcategory (prebid#1098)

* Making IAB category translation optional with translatecategories boolean in request

* Updating exchange unit tests to remove extra bids

* Updates from code review comments

* Removed comment about default TranslateCategories value
* Changed translateCat to translateCategories in tests
* Combined helper functions in exchange_test related to TranslateCategories

* Bid floor (prebid#1085)

* Currency handling fix (prebid#1097)

* facebook adapter refactor (prebid#1064)

* Kubient adapter (prebid#1094)

* [synacormedia] Update user sync url to be https (prebid#1115)

This detail was missed while setting up the adapter, but we would like to use https for the user sync.

* Remove Go 1.11 Build Target (prebid#1109)

* Set "Secure" on Same SIte cookies (prebid#1119)

* TripleliftNative Adapter (prebid#1114)

* ignore swp files

* start small

* start really small

* add a user sync

* justify

* triplelift adapter

* add our endpoint

* fix syntax

* config stuff

* compiler fixes

* more config

* add params

* making progress

* make our ext more exty

* start making responses

* more logic

* fix compilation errors

* can we just nil this out?

* augment our json

* radically simplify our json

* fix errs

* infer the bid type

* fix syntax

* fix comilation errors

* rename

* fix compilation error

* config stuff

* simplify params

* more config stuff

* fixes

* revert this

* fix up the extension

* getting closer

* add a test

* update config

* update bidder params

* add the floor here, too

* add a usersync test

* validation, ws, and a test

* update tests

* fix test

* update email

* why not

* change email

* preprocess requests

* do some parsing

* take care of some errors

* floor is optional

* ws

* remove native

* everything is either banner or video

* this should be a float

* floor to floor

* fix compilation errors

* add some tests

* more tests

* more tests

* simplify

* more progress

* format

* ws

* rm

* don't need this

* fix test

* fix test

* don't ignore swap

* change line back

* report an error if there are no valid impressions for triplelift

* check for either a Banner or Video object on the impression

* more tests

* mv

* more tests

* update triplelift end point

* send native

* ws

* start changing tests

* fix more tests

* update config

* add redirect to triplelift usersync

* fix supplier id in triplelift_test

* update tl usersync endpoint and test

* fix tl supplier id in test json

* update usersync test template

* adjust inconsistency with test and sync url

* mv

* update packages

* mv

* mv

* update

* fix compilation errors

* rename

* rename some stuff

* rename

* rename

* fix some compilation errors

* ws

* ws

* add the extra info

* add some extra info

* add some files back

* ws and such

* updates

* ws

* fix compilation error

* mv

* rename

* Revert "rename"

This reverts commit 1b77c72.

* Revert "mv"

This reverts commit 52a134d.

* it builds

* cp a file

* cp another file

* fix a test

* fix test

* add the extra info

* ws

* add some logic

* edit comment

* it compiles

* this is now public

* call this

* add the function

* return nil

* seems to be working

* ws

* seems to be working

* ws

* mv

* starting to work

* ws

* add a new function

* ws

* fix tests

* bug fix

* update some stuff

* revert

* take out prints

* fix up diff

* fix up diff

* update ws

* fix

* ws

* omit the triplelift endppint

* Revert "omit the triplelift endppint"

This reverts commit 7abc3e4.

* populate the endpoint through the extinfo

* ws

* set disabled to be default

* ws

* update types

* fixing tests

* making progres

* fix tests

* fix tests

* more fixes for tests

* fixed tests

* just use a comment

* get rid of endpoint

* restore endpoint

* add some errors around unmarshalling

* ws

* ws

* use the literal

* ws

* ws

* update json

* simplify

* ws

* restore tests

* fail fast when grabbing invcode

* use the right type

* use a different error type

* bump code coverage

* add a new test

* change error type

* ws

* break out test into its own function

* JSON block that has a full data-center specific URL cache info (prebid#1104)

* Update Dockerfile and Makefile  (prebid#1099)

* Add option for running tests as part of the docker image building

* Update Makefile

- Add ability to execute adapter specific tests
- Execute targets for "all" rather than just printing the target name and usage
- Remove use of non-existing "install" target from .PHONY targets
- Remove "build" as a dependency for "image"

* enable app requests for audience network (prebid#1122)

* [docs] fix markdown title (prebid#1124)

* Prometheus Refactor (prebid#1108)

* update default sync url (prebid#1127)

* Update sync url for BidderGrid adapter (prebid#1120)

* [SonarCloud] Legacy auction endpoint (prebid#1017)

* [currency converter] allow to deduce reverse rate (prebid#1126)

This CL allows the currency rate currency to deduce a currency rate even
if not directly defined in the table but the reverse rate is present.

E.q.

USD => EUR is 1.0897
EUR => USD is not set

Old behavior when asking rate from EUR to USD will not be found,
New behavior is using the known reverse rate to deduce the rate.

Rate for 2 USD will be 2 * (1 / 1.0897)

* Updated handleError arguments to be pointers for video endpoint (prebid#1128)

* Updated handleError arguments to be pointers for video endpoint

* Removing unneeded pointer to http.ResponseWriter

* Adding units test for update to handleError

* Revert changes to GetExtCacheData() made in prebid#1104 (prebid#1130) (prebid#1131)

* Better native request validation (prebid#1132)

* require the caller to define native assets[...].ID (prebid#1123)

* require the caller to define native assets[...].ID

* Update assets-with-partial-ids.json

* CCPA Phase 1: AMP Endpoint (prebid#1125)

* facebook: removed Auth-Token from header (replaced by authentication_id in the request body) (prebid#1113)

* Setuid Fix (prebid#1121)

* Update http refresh to use url builder. Fixes prebid#1065 (prebid#1133)

* Add mapping of user.ext.eids[] for LiveIntent in Rubicon bidder (prebid#1089)

* support facebook app_secret config param (prebid#1139)

* CCPA Phase 1: Cookie Sync (prebid#1135)

* null check banner.h (prebid#1142)

* Add Pubnative Adapter (prebid#1134)

* Adding the passing of CCPA value to the bid request for video endpoint (prebid#1143)

* first draft (prebid#1137)

* CCPA Phase 2: Enforcement (prebid#1138)

* Gamoshi Adapter: Update cookie sync (prebid#1146)

* Simplify static/bidder-params/triplelift_native.json (prebid#1152)

* Added US Privacy support in TheMediaGrid server adapter (prebid#1147)

* Add TheMediaGrid server adapter

* Add video support in TheMediaGrid s2s adapter

* Update sync url for TheMediaGrid s2s adapter

* Added CCPA support for TheMediaGrid s2s adapter

* Fix sync url for TheMediaGrid adapter

* CCPA User Sync Updates (prebid#1153)

* Marsmedia - add new bidder (prebid#1118)

* Add Applogy adapter (prebid#1151)

* enforce video.size_id for video imps in rubicon adapter (prebid#1101)

* Updated PubMatic endpoint to use https (prebid#1155)

* Update Example AppNexus Placement ID (prebid#1160)

* Fix Currency Converter Doesn't Output CUR (prebid#1154)

* Add custom JSON req/resp data to the analytics logging… (prebid#1145)

* Add custom JSON req/resp data to the analytics logging for the /openrtb2/video endpoint.

* Add calls in unit tests to cover logging and jsonify of video object.

* CCPA User Sync URL Updates (prebid#1157)

* Fixes audienceNetwork adapter ignoring banner.format sizes. (prebid#1164)

* adding yieldmo vendor id to usersync (prebid#1166)

* Add SmartRTB adapter (prebid#1071)

* Added new adapter for CPMStar ad network banners and video (prebid#1159)

* Update the Conversant sync pixel (prebid#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (prebid#1170)

* [currencies] fix GetInfo() null ref issue (prebid#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: prebid#1136

* Fix triplelift User Sync (prebid#1173)

* Enhance Message For Cache Errors (prebid#1175)

* Fix PubMatic Usersync URL (prebid#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (prebid#1165)

* Remove all non-secure calls from eplanning adapter (prebid#1179)

* Expose Cache HTTP Settings (prebid#1184)

* Adding bid rejection messages to debug response (prebid#1181)

* Adds timeout notifications for Facebook (prebid#1182)

* VIS.X: added app type support (prebid#1194)

* Add Adoppler bidder support. (prebid#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (prebid#1183)

* updating default hard-coded list of certs (prebid#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (prebid#1195)

* Adding copying of gdpr consent string to openrtb bid request (prebid#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (prebid#1208)

* openx adapter: forward bid response currency in openx adapter if set (prebid#1211)

it was always set to the default USD before

* add ucfunnel adapter (prebid#1192)

* Update required params for TheMediaGrid adapter (prebid#1188)

* add zeroclickfraud adapter (prebid#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (prebid#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (prebid#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (prebid#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (prebid#1199)

* Add ValueImpression Adapter (prebid#1204)

* Kidoz adapter (prebid#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (prebid#1224)

Fix type

* Update auction.md (prebid#1225)

Fix typo.

* Added logging to cache for video endpoint (prebid#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (prebid#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (prebid#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (prebid#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (prebid#1232)

* treat 204 from FAN as a no bids response (prebid#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (prebid#1187)

* Update rubicon.md (prebid#1234)

* adding schain interface (prebid#1203)

* added Rewarded Video section (prebid#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (prebid#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (prebid#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (prebid#1250)

* Handle CCPA + enable gzip response

[#169984259]

* Addressing review (#273)

[#169984259]

* Remove custom gzip logic  (#280)

* Getting rid of custom gzip logic

[#169984259]

* Restore prod ad server url

[#169984259]

Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>

* Remove Outdated GDPR AMP Special Case (prebid#1283)

* Stricter Privacy Scrubbing (prebid#1286)

* Stricter Privacy Scrubbing

* Update Unit Test Style

* Fixed Whitespace

* Add Adapter Orbidder (prebid#1275)

Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: rvolk <>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>

* Added OpenX Bidder adapter documentation (prebid#1291)

* OpenX adapter: Pass rewarded video flag (prebid#1290)

* Bugfix for missing fields in imp.video (prebid#1297)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add cpmOverride (prebid#1289)

* Add cpmOverride

Enabled `request.ext.rubicon.debug.cpmOverride` and `request.imp[].ext.rubicon.debug.cpmOverride` processing.
Updates tests

* Remove unnecessary error checks and add shallow copy

* Fixed same pointer

* Add Beintoo adapter (prebid#1274)

* Add Beintoo adapter

* Yeahmobi adapter (prebid#1279)

Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>

* advangelists: Vendor id update (prebid#1307)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Consumable: Support GDPR and US Privacy consent (prebid#1300)

* Restore the AMP privacy exception as an option. (prebid#1311)

* Restore the AMP privacy exception as an option.

* Adds missing test case

* More PR feedback

* Remove unused constant

* Comment tweak

* consumable: Correct GDPR vendor ID to 591. (prebid#1309)

fixes prebid#1299.

* VIS.X: fix bid.ID, bid.CrID and set default currency value (prebid#1296)

* Fix debug log error messages (prebid#1270)

* Fixing missing error messages for debug logging

* Updated formatting of debug log message

* Updated unit tests for debug log to have test flag enabled

* Cleaned up debug log implementation

* Updates from review comments

* Cleaned up field and function names
* Added replacer for <> characters
* Added cache string unit test

* Moved regex from function to struct field

* Moved debug regex to endpoint deps

* Moving regex initialization to NewVideoEndpoint

* MobileFuse Adapter (prebid#1303)

Co-authored-by: Dan Barnett <danb@mobilefuse.com>

* eplanning: Support for apps (prebid#1306)

* Introduce Adhese adapter (prebid#1292)

Co-authored-by: Mateusz <mateusz@adhese.eu>

* privacy: Potential JSON injection (prebid#1304)

* Updating bidder params for Advangelists (prebid#1316)

* Updating placement info on bidder params

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Change placement of cpmoverride for Rubicon (prebid#1310)

* increasing the stale period to 2 months (prebid#1305)

* Add Go 1.14 Build Target (prebid#1314)

* Privacy: Remove user.ext.eids (prebid#1294)

* Privacy: Remove user.ext.eids

* Extract To A Method

* Minor Refactor + More Tests

* Performance Tweak

* Removed some redundant methods (prebid#1320)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

* Removed some redundant methods.

* Removed a comment

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Beachfront: GDPR id (issue 1301) and documentation updates (prebid#1321)

* Defined cookie sync URL in config, cleared deprecated comment in usersync

* Update beachfront.md

* editing documentation

* updated gdpr id - issue 1301

* Add Yieldlab Adapter (prebid#1287)

Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Signed-off-by: Alex Klinkert <alex@klinkert.io>

Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>

* Update adtelligent ortb endpoint (prebid#1318)

* Change on eplanning endpoint (prebid#1327)

* Enable full TCF2 support (prebid#1302)

* New config options

* Enble TCF2 fields and logic

* Resolves some PR comments

* More tests

* gofmt

* Added enforcement tests for split GDPR/GDPRGeo

* Testing tweaks

* No longer ignore enforce purpose 1 on allowSync()

* Removes Purpose 4

* Change on eplanning endpoint (hostname) (prebid#1328)

* Districtm Dmx: new adapter  (prebid#1209)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Fix sync url for Yieldone s2s Bid Adapter (prebid#1336)

* Fix typo in Yieldone sync url

* CCPA Video Bug (prebid#1333)

* Add Pubnative bidder documentation (prebid#1340)

* Timeout notification monitoring and debugging (prebid#1322)

* Add Adtarget server adapter (prebid#1319)

* Add Adtarget server adapter

* Suggested changes for Adtarget

* Update Auction OpenRTB Sample (prebid#1342)

* Update Auction OpenRTB Sample

* Removed Extra "Or"

* Triplelift: Add SRA Support (prebid#1347)

* Privacy: Limit Ad Tracking (prebid#1334)

* Avoid overriding AMP request original size with mutli-size (prebid#1352)

* Extra logging for timeout notifications (prebid#1349)

* Consumable: Correct bid type, should always be "banner". (prebid#1359)

* Build With Go 1.14 (prebid#1350)

* Category mapping changes from product team. (prebid#1348)

* Adds Avocet adapter (prebid#1354)

* AdOcean adapter - Support for sizes defined in prebid configuration. (prebid#1339)

support for multiple sizes

bump version to 1.1.0

* Log account id and all bidder names when recovering from OpenRTB auction bidder… (prebid#1358)

* Updating imports for prebid v0.116.0

* prebid_0.116.0 : Fixing merging issue for

Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertixvost@gmail.com>
Co-authored-by: Steve Alliance <steve.alliance@gmail.com>
Co-authored-by: steve-a-districtm <steve@districtm.net>
Co-authored-by: Artur Aleksanyan <artur.aleksanyan89@gmail.com>
Co-authored-by: Brandon Ling <51931757+blingster7@users.noreply.github.com>
Co-authored-by: Richard Lee <14349+dlackty@users.noreply.github.com>
Co-authored-by: Simon Critchley <sicritchley@gmail.com>
Co-authored-by: Brian Sardo <1168933+bsardo@users.noreply.github.com>
PubMatic-OpenWrap added a commit to PubMatic-OpenWrap/prebid-server that referenced this pull request Jun 30, 2020
* adding yieldmo vendor id to usersync (prebid#1166)

* Add SmartRTB adapter (prebid#1071)

* Added new adapter for CPMStar ad network banners and video (prebid#1159)

* Update the Conversant sync pixel (prebid#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (prebid#1170)

* [currencies] fix GetInfo() null ref issue (prebid#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: prebid#1136

* Fix triplelift User Sync (prebid#1173)

* Enhance Message For Cache Errors (prebid#1175)

* Fix PubMatic Usersync URL (prebid#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (prebid#1165)

* Remove all non-secure calls from eplanning adapter (prebid#1179)

* Expose Cache HTTP Settings (prebid#1184)

* Adding bid rejection messages to debug response (prebid#1181)

* Adds timeout notifications for Facebook (prebid#1182)

* VIS.X: added app type support (prebid#1194)

* Add Adoppler bidder support. (prebid#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (prebid#1183)

* updating default hard-coded list of certs (prebid#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (prebid#1195)

* Adding copying of gdpr consent string to openrtb bid request (prebid#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (prebid#1208)

* openx adapter: forward bid response currency in openx adapter if set (prebid#1211)

it was always set to the default USD before

* add ucfunnel adapter (prebid#1192)

* Update required params for TheMediaGrid adapter (prebid#1188)

* add zeroclickfraud adapter (prebid#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (prebid#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (prebid#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (prebid#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (prebid#1199)

* Add ValueImpression Adapter (prebid#1204)

* Kidoz adapter (prebid#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (prebid#1224)

Fix type

* Update auction.md (prebid#1225)

Fix typo.

* Added logging to cache for video endpoint (prebid#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (prebid#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (prebid#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (prebid#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (prebid#1232)

* treat 204 from FAN as a no bids response (prebid#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (prebid#1187)

* Update rubicon.md (prebid#1234)

* adding schain interface (prebid#1203)

* added Rewarded Video section (prebid#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (prebid#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (prebid#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (prebid#1250)

* replacing info@prebid.org maintainer email addrs (prebid#1256)

* aligning maintainer info (prebid#1258)

* Add kidoz bidder info (prebid#1257)

got this info from email communication with kidoz

* Add Cropping of BAdv for Rubicon Adapter (prebid#1254)

* Add Cropping of BAdv for Rubicon Adapter

BAdv size is limited to 50

* Fix after review

Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>

* Added metrics support to endpoint aspect (prebid#1226)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Prebid Server adapter for Telaria (prebid#1231)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* #615 Beachfront URLs from config (prebid#1238)

* Add nil check errors when setting native asset types (prebid#1260)

* Bugfix: no bids from bidder handling (prebid#1252)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add missing categories to AppNexus -> IAB mapping file. (prebid#1264)

* Add missing categories to AppNexus -> IAB mapping file.

* Remove entry for category 38 which was set to a primary IAB category instead of a sub-category.

* Fix order of category 22

* Yieldone s2s Bid Adapter (prebid#1242)

* Added new Yieldone Bid s2s Adapter

* Update endpoint for yieldone bid adapter

* Fixes after review for Yieldone Bid s2s Adapter

* Fix typeo in Yieldone s2s Bid Adapter

* Fix: URL de sync (prebid#1261)

* populate the app ID in the FAN timeout notif url with the publisher ID (prebid#1265)

and the auction with the request ID

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* Added header User Agent decoding (prebid#1268)

* Added header User Agent decoding

* Added header User Agent decoding: unit tests

* Added header User Agent decoding: unit tests

* Added check UA is encoded to avoid `+` converted to space

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Ad Generation Adapter Integration. (prebid#1253)

* AdGeneration Integration.

* update AdGeneration adapter.
fix: some methods of the adgAdapter replace to functions.
fix: unmarshal functions return a pointer.
fix: header is defined once.
fix: return when imps is appended

* update AdGeneration Adapter.

add: Added a comment in usersync.
add: Added a test for parameters whose ID does not exist in params_test.
change: Change to query creation by net/url. Added getRawQuery Test.
fix: Changed variable names related to bidRequest.

* Fix Go 1.14 Error Message Changes (prebid#1271)

* NinthDecimal Adapter (prebid#1249)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* * Add PubMatic bidder doc file (prebid#1255)

* Add app video capability to PubMatic bidder info file

* Appnexus adapter: Add category mapping for government. (prebid#1278)

* Update a Freewheel mapping to Gaming category. (prebid#1280)

* Add AJA adapter (prebid#1269)

* OpenX adapter: Pass gdpr and gdpr_consent to user sync endpoint (prebid#1282)

I've also updated the test to avoid any confusion.

* OpenX adapter: Enable video for app (prebid#1281)

* fix conversant sync pixel (prebid#1284)

* Add AdOcean adapter (prebid#1273)

* [ADOCEAN-20132] AdOcean adapter

* [ADOCEAN-20132] AdOcean adapter - support for gdpr

* [ADOCEAN-20132] AdOcean adapter - tests

* [ADOCEAN-20132] AdOcean adapter - user sync

* [ADOCEAN-20132] AdOcean adapter - formatting

* [ADOCEAN-20132] AdOcean adapter - send uuid to emitter

* [ADOCEAN-20132] adocean adapter - return nil if there is no creative

* [ADOCEAN-20132] AdOcean adapter - add version parameter

* [ADOCEAN-20132] AdOcean adapter - optimization

* [ADOCEAN-20132] AdOcean adapter - add to syncer_test.go

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove whitespaces in js code on adapter initialization instead on every request
* check if request.Site is not nil
* reuse newUri variable

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* do not terminate the auction on a single faulty bid

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove unnecessary input parameters check
* small optimization

* LunaMedia Adapter (prebid#1285)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* [Sharethrough] Add CCPA support (prebid#1263)

* Handle gzip responses from ad server correctly

* Bump to version 8

* [Go Modules] Add proxy (prebid#1079)

* Add SSL cert for accessing stored request API (prebid#1087)

* [misspell] fix a misspell (prebid#1102)

* update static bidder params for rubicon video to follow the json marshalling names (prebid#1100)

* Switching yieldmo auction endpoint from http to https (prebid#1103)

* Add Datablocks Adapter (prebid#1095)

* datablocks bid adapter

* ttx

* add test json

* add coverage

* redo ttx

* formatted

* better error handling

* additional tests and recomended fixes

* Adding translatecategories flag to includebrandcategory (prebid#1098)

* Making IAB category translation optional with translatecategories boolean in request

* Updating exchange unit tests to remove extra bids

* Updates from code review comments

* Removed comment about default TranslateCategories value
* Changed translateCat to translateCategories in tests
* Combined helper functions in exchange_test related to TranslateCategories

* Bid floor (prebid#1085)

* Currency handling fix (prebid#1097)

* facebook adapter refactor (prebid#1064)

* Kubient adapter (prebid#1094)

* [synacormedia] Update user sync url to be https (prebid#1115)

This detail was missed while setting up the adapter, but we would like to use https for the user sync.

* Remove Go 1.11 Build Target (prebid#1109)

* Set "Secure" on Same SIte cookies (prebid#1119)

* TripleliftNative Adapter (prebid#1114)

* ignore swp files

* start small

* start really small

* add a user sync

* justify

* triplelift adapter

* add our endpoint

* fix syntax

* config stuff

* compiler fixes

* more config

* add params

* making progress

* make our ext more exty

* start making responses

* more logic

* fix compilation errors

* can we just nil this out?

* augment our json

* radically simplify our json

* fix errs

* infer the bid type

* fix syntax

* fix comilation errors

* rename

* fix compilation error

* config stuff

* simplify params

* more config stuff

* fixes

* revert this

* fix up the extension

* getting closer

* add a test

* update config

* update bidder params

* add the floor here, too

* add a usersync test

* validation, ws, and a test

* update tests

* fix test

* update email

* why not

* change email

* preprocess requests

* do some parsing

* take care of some errors

* floor is optional

* ws

* remove native

* everything is either banner or video

* this should be a float

* floor to floor

* fix compilation errors

* add some tests

* more tests

* more tests

* simplify

* more progress

* format

* ws

* rm

* don't need this

* fix test

* fix test

* don't ignore swap

* change line back

* report an error if there are no valid impressions for triplelift

* check for either a Banner or Video object on the impression

* more tests

* mv

* more tests

* update triplelift end point

* send native

* ws

* start changing tests

* fix more tests

* update config

* add redirect to triplelift usersync

* fix supplier id in triplelift_test

* update tl usersync endpoint and test

* fix tl supplier id in test json

* update usersync test template

* adjust inconsistency with test and sync url

* mv

* update packages

* mv

* mv

* update

* fix compilation errors

* rename

* rename some stuff

* rename

* rename

* fix some compilation errors

* ws

* ws

* add the extra info

* add some extra info

* add some files back

* ws and such

* updates

* ws

* fix compilation error

* mv

* rename

* Revert "rename"

This reverts commit 1b77c72.

* Revert "mv"

This reverts commit 52a134d.

* it builds

* cp a file

* cp another file

* fix a test

* fix test

* add the extra info

* ws

* add some logic

* edit comment

* it compiles

* this is now public

* call this

* add the function

* return nil

* seems to be working

* ws

* seems to be working

* ws

* mv

* starting to work

* ws

* add a new function

* ws

* fix tests

* bug fix

* update some stuff

* revert

* take out prints

* fix up diff

* fix up diff

* update ws

* fix

* ws

* omit the triplelift endppint

* Revert "omit the triplelift endppint"

This reverts commit 7abc3e4.

* populate the endpoint through the extinfo

* ws

* set disabled to be default

* ws

* update types

* fixing tests

* making progres

* fix tests

* fix tests

* more fixes for tests

* fixed tests

* just use a comment

* get rid of endpoint

* restore endpoint

* add some errors around unmarshalling

* ws

* ws

* use the literal

* ws

* ws

* update json

* simplify

* ws

* restore tests

* fail fast when grabbing invcode

* use the right type

* use a different error type

* bump code coverage

* add a new test

* change error type

* ws

* break out test into its own function

* JSON block that has a full data-center specific URL cache info (prebid#1104)

* Update Dockerfile and Makefile  (prebid#1099)

* Add option for running tests as part of the docker image building

* Update Makefile

- Add ability to execute adapter specific tests
- Execute targets for "all" rather than just printing the target name and usage
- Remove use of non-existing "install" target from .PHONY targets
- Remove "build" as a dependency for "image"

* enable app requests for audience network (prebid#1122)

* [docs] fix markdown title (prebid#1124)

* Prometheus Refactor (prebid#1108)

* update default sync url (prebid#1127)

* Update sync url for BidderGrid adapter (prebid#1120)

* [SonarCloud] Legacy auction endpoint (prebid#1017)

* [currency converter] allow to deduce reverse rate (prebid#1126)

This CL allows the currency rate currency to deduce a currency rate even
if not directly defined in the table but the reverse rate is present.

E.q.

USD => EUR is 1.0897
EUR => USD is not set

Old behavior when asking rate from EUR to USD will not be found,
New behavior is using the known reverse rate to deduce the rate.

Rate for 2 USD will be 2 * (1 / 1.0897)

* Updated handleError arguments to be pointers for video endpoint (prebid#1128)

* Updated handleError arguments to be pointers for video endpoint

* Removing unneeded pointer to http.ResponseWriter

* Adding units test for update to handleError

* Revert changes to GetExtCacheData() made in prebid#1104 (prebid#1130) (prebid#1131)

* Better native request validation (prebid#1132)

* require the caller to define native assets[...].ID (prebid#1123)

* require the caller to define native assets[...].ID

* Update assets-with-partial-ids.json

* CCPA Phase 1: AMP Endpoint (prebid#1125)

* facebook: removed Auth-Token from header (replaced by authentication_id in the request body) (prebid#1113)

* Setuid Fix (prebid#1121)

* Update http refresh to use url builder. Fixes prebid#1065 (prebid#1133)

* Add mapping of user.ext.eids[] for LiveIntent in Rubicon bidder (prebid#1089)

* support facebook app_secret config param (prebid#1139)

* CCPA Phase 1: Cookie Sync (prebid#1135)

* null check banner.h (prebid#1142)

* Add Pubnative Adapter (prebid#1134)

* Adding the passing of CCPA value to the bid request for video endpoint (prebid#1143)

* first draft (prebid#1137)

* CCPA Phase 2: Enforcement (prebid#1138)

* Gamoshi Adapter: Update cookie sync (prebid#1146)

* Simplify static/bidder-params/triplelift_native.json (prebid#1152)

* Added US Privacy support in TheMediaGrid server adapter (prebid#1147)

* Add TheMediaGrid server adapter

* Add video support in TheMediaGrid s2s adapter

* Update sync url for TheMediaGrid s2s adapter

* Added CCPA support for TheMediaGrid s2s adapter

* Fix sync url for TheMediaGrid adapter

* CCPA User Sync Updates (prebid#1153)

* Marsmedia - add new bidder (prebid#1118)

* Add Applogy adapter (prebid#1151)

* enforce video.size_id for video imps in rubicon adapter (prebid#1101)

* Updated PubMatic endpoint to use https (prebid#1155)

* Update Example AppNexus Placement ID (prebid#1160)

* Fix Currency Converter Doesn't Output CUR (prebid#1154)

* Add custom JSON req/resp data to the analytics logging… (prebid#1145)

* Add custom JSON req/resp data to the analytics logging for the /openrtb2/video endpoint.

* Add calls in unit tests to cover logging and jsonify of video object.

* CCPA User Sync URL Updates (prebid#1157)

* Fixes audienceNetwork adapter ignoring banner.format sizes. (prebid#1164)

* adding yieldmo vendor id to usersync (prebid#1166)

* Add SmartRTB adapter (prebid#1071)

* Added new adapter for CPMStar ad network banners and video (prebid#1159)

* Update the Conversant sync pixel (prebid#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (prebid#1170)

* [currencies] fix GetInfo() null ref issue (prebid#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: prebid#1136

* Fix triplelift User Sync (prebid#1173)

* Enhance Message For Cache Errors (prebid#1175)

* Fix PubMatic Usersync URL (prebid#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (prebid#1165)

* Remove all non-secure calls from eplanning adapter (prebid#1179)

* Expose Cache HTTP Settings (prebid#1184)

* Adding bid rejection messages to debug response (prebid#1181)

* Adds timeout notifications for Facebook (prebid#1182)

* VIS.X: added app type support (prebid#1194)

* Add Adoppler bidder support. (prebid#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (prebid#1183)

* updating default hard-coded list of certs (prebid#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (prebid#1195)

* Adding copying of gdpr consent string to openrtb bid request (prebid#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (prebid#1208)

* openx adapter: forward bid response currency in openx adapter if set (prebid#1211)

it was always set to the default USD before

* add ucfunnel adapter (prebid#1192)

* Update required params for TheMediaGrid adapter (prebid#1188)

* add zeroclickfraud adapter (prebid#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (prebid#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (prebid#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (prebid#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (prebid#1199)

* Add ValueImpression Adapter (prebid#1204)

* Kidoz adapter (prebid#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (prebid#1224)

Fix type

* Update auction.md (prebid#1225)

Fix typo.

* Added logging to cache for video endpoint (prebid#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (prebid#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (prebid#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (prebid#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (prebid#1232)

* treat 204 from FAN as a no bids response (prebid#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (prebid#1187)

* Update rubicon.md (prebid#1234)

* adding schain interface (prebid#1203)

* added Rewarded Video section (prebid#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (prebid#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (prebid#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (prebid#1250)

* Handle CCPA + enable gzip response

[#169984259]

* Addressing review (#273)

[#169984259]

* Remove custom gzip logic  (#280)

* Getting rid of custom gzip logic

[#169984259]

* Restore prod ad server url

[#169984259]

Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>

* Remove Outdated GDPR AMP Special Case (prebid#1283)

* Stricter Privacy Scrubbing (prebid#1286)

* Stricter Privacy Scrubbing

* Update Unit Test Style

* Fixed Whitespace

* Add Adapter Orbidder (prebid#1275)

Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: rvolk <>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>

* Added OpenX Bidder adapter documentation (prebid#1291)

* OpenX adapter: Pass rewarded video flag (prebid#1290)

* Bugfix for missing fields in imp.video (prebid#1297)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add cpmOverride (prebid#1289)

* Add cpmOverride

Enabled `request.ext.rubicon.debug.cpmOverride` and `request.imp[].ext.rubicon.debug.cpmOverride` processing.
Updates tests

* Remove unnecessary error checks and add shallow copy

* Fixed same pointer

* Add Beintoo adapter (prebid#1274)

* Add Beintoo adapter

* Yeahmobi adapter (prebid#1279)

Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>

* advangelists: Vendor id update (prebid#1307)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Consumable: Support GDPR and US Privacy consent (prebid#1300)

* Restore the AMP privacy exception as an option. (prebid#1311)

* Restore the AMP privacy exception as an option.

* Adds missing test case

* More PR feedback

* Remove unused constant

* Comment tweak

* consumable: Correct GDPR vendor ID to 591. (prebid#1309)

fixes prebid#1299.

* VIS.X: fix bid.ID, bid.CrID and set default currency value (prebid#1296)

* Fix debug log error messages (prebid#1270)

* Fixing missing error messages for debug logging

* Updated formatting of debug log message

* Updated unit tests for debug log to have test flag enabled

* Cleaned up debug log implementation

* Updates from review comments

* Cleaned up field and function names
* Added replacer for <> characters
* Added cache string unit test

* Moved regex from function to struct field

* Moved debug regex to endpoint deps

* Moving regex initialization to NewVideoEndpoint

* MobileFuse Adapter (prebid#1303)

Co-authored-by: Dan Barnett <danb@mobilefuse.com>

* eplanning: Support for apps (prebid#1306)

* Introduce Adhese adapter (prebid#1292)

Co-authored-by: Mateusz <mateusz@adhese.eu>

* privacy: Potential JSON injection (prebid#1304)

* Updating bidder params for Advangelists (prebid#1316)

* Updating placement info on bidder params

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Change placement of cpmoverride for Rubicon (prebid#1310)

* increasing the stale period to 2 months (prebid#1305)

* Add Go 1.14 Build Target (prebid#1314)

* Privacy: Remove user.ext.eids (prebid#1294)

* Privacy: Remove user.ext.eids

* Extract To A Method

* Minor Refactor + More Tests

* Performance Tweak

* Removed some redundant methods (prebid#1320)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

* Removed some redundant methods.

* Removed a comment

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Beachfront: GDPR id (issue 1301) and documentation updates (prebid#1321)

* Defined cookie sync URL in config, cleared deprecated comment in usersync

* Update beachfront.md

* editing documentation

* updated gdpr id - issue 1301

* Add Yieldlab Adapter (prebid#1287)

Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Signed-off-by: Alex Klinkert <alex@klinkert.io>

Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>

* Update adtelligent ortb endpoint (prebid#1318)

* Change on eplanning endpoint (prebid#1327)

* Enable full TCF2 support (prebid#1302)

* New config options

* Enble TCF2 fields and logic

* Resolves some PR comments

* More tests

* gofmt

* Added enforcement tests for split GDPR/GDPRGeo

* Testing tweaks

* No longer ignore enforce purpose 1 on allowSync()

* Removes Purpose 4

* Change on eplanning endpoint (hostname) (prebid#1328)

* Districtm Dmx: new adapter  (prebid#1209)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Fix sync url for Yieldone s2s Bid Adapter (prebid#1336)

* Fix typo in Yieldone sync url

* CCPA Video Bug (prebid#1333)

* Add Pubnative bidder documentation (prebid#1340)

* Timeout notification monitoring and debugging (prebid#1322)

* Add Adtarget server adapter (prebid#1319)

* Add Adtarget server adapter

* Suggested changes for Adtarget

* Update Auction OpenRTB Sample (prebid#1342)

* Update Auction OpenRTB Sample

* Removed Extra "Or"

* Triplelift: Add SRA Support (prebid#1347)

* Privacy: Limit Ad Tracking (prebid#1334)

* Avoid overriding AMP request original size with mutli-size (prebid#1352)

* Extra logging for timeout notifications (prebid#1349)

* Consumable: Correct bid type, should always be "banner". (prebid#1359)

* Build With Go 1.14 (prebid#1350)

* Category mapping changes from product team. (prebid#1348)

* Adds Avocet adapter (prebid#1354)

* AdOcean adapter - Support for sizes defined in prebid configuration. (prebid#1339)

support for multiple sizes

bump version to 1.1.0

* Log account id and all bidder names when recovering from OpenRTB auction bidder… (prebid#1358)

* Updating imports for prebid v0.116.0

* prebid_0.116.0 : Fixing merging issue for

Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertixvost@gmail.com>
Co-authored-by: Steve Alliance <steve.alliance@gmail.com>
Co-authored-by: steve-a-districtm <steve@districtm.net>
Co-authored-by: Artur Aleksanyan <artur.aleksanyan89@gmail.com>
Co-authored-by: Brandon Ling <51931757+blingster7@users.noreply.github.com>
Co-authored-by: Richard Lee <14349+dlackty@users.noreply.github.com>
Co-authored-by: Simon Critchley <sicritchley@gmail.com>
Co-authored-by: Brian Sardo <1168933+bsardo@users.noreply.github.com>
katsuo5 pushed a commit to flux-dev-team/prebid-server-1 that referenced this pull request Dec 1, 2020
katsuo5 pushed a commit to flux-dev-team/prebid-server-1 that referenced this pull request Dec 2, 2020
katsuo5 pushed a commit to flux-dev-team/prebid-server-1 that referenced this pull request Dec 4, 2020
PubMatic-OpenWrap added a commit to PubMatic-OpenWrap/prebid-server that referenced this pull request Dec 23, 2020
* updating default hard-coded list of certs (#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (#1195)

* Adding copying of gdpr consent string to openrtb bid request (#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (#1208)

* openx adapter: forward bid response currency in openx adapter if set (#1211)

it was always set to the default USD before

* add ucfunnel adapter (#1192)

* Update required params for TheMediaGrid adapter (#1188)

* add zeroclickfraud adapter (#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (#1199)

* Add ValueImpression Adapter (#1204)

* Kidoz adapter (#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (#1224)

Fix type

* Update auction.md (#1225)

Fix typo.

* Added logging to cache for video endpoint (#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (#1232)

* treat 204 from FAN as a no bids response (#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (#1187)

* Update rubicon.md (#1234)

* adding schain interface (#1203)

* added Rewarded Video section (#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (#1250)

* replacing info@prebid.org maintainer email addrs (#1256)

* aligning maintainer info (#1258)

* Add kidoz bidder info (#1257)

got this info from email communication with kidoz

* Add Cropping of BAdv for Rubicon Adapter (#1254)

* Add Cropping of BAdv for Rubicon Adapter

BAdv size is limited to 50

* Fix after review

Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>

* Added metrics support to endpoint aspect (#1226)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Prebid Server adapter for Telaria (#1231)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* #615 Beachfront URLs from config (#1238)

* Add nil check errors when setting native asset types (#1260)

* Bugfix: no bids from bidder handling (#1252)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add missing categories to AppNexus -> IAB mapping file. (#1264)

* Add missing categories to AppNexus -> IAB mapping file.

* Remove entry for category 38 which was set to a primary IAB category instead of a sub-category.

* Fix order of category 22

* Yieldone s2s Bid Adapter (#1242)

* Added new Yieldone Bid s2s Adapter

* Update endpoint for yieldone bid adapter

* Fixes after review for Yieldone Bid s2s Adapter

* Fix typeo in Yieldone s2s Bid Adapter

* Fix: URL de sync (#1261)

* populate the app ID in the FAN timeout notif url with the publisher ID (#1265)

and the auction with the request ID

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* Added header User Agent decoding (#1268)

* Added header User Agent decoding

* Added header User Agent decoding: unit tests

* Added header User Agent decoding: unit tests

* Added check UA is encoded to avoid `+` converted to space

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Ad Generation Adapter Integration. (#1253)

* AdGeneration Integration.

* update AdGeneration adapter.
fix: some methods of the adgAdapter replace to functions.
fix: unmarshal functions return a pointer.
fix: header is defined once.
fix: return when imps is appended

* update AdGeneration Adapter.

add: Added a comment in usersync.
add: Added a test for parameters whose ID does not exist in params_test.
change: Change to query creation by net/url. Added getRawQuery Test.
fix: Changed variable names related to bidRequest.

* Fix Go 1.14 Error Message Changes (#1271)

* NinthDecimal Adapter (#1249)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* * Add PubMatic bidder doc file (#1255)

* Add app video capability to PubMatic bidder info file

* Appnexus adapter: Add category mapping for government. (#1278)

* Update a Freewheel mapping to Gaming category. (#1280)

* Add AJA adapter (#1269)

* OpenX adapter: Pass gdpr and gdpr_consent to user sync endpoint (#1282)

I've also updated the test to avoid any confusion.

* OpenX adapter: Enable video for app (#1281)

* fix conversant sync pixel (#1284)

* Add AdOcean adapter (#1273)

* [ADOCEAN-20132] AdOcean adapter

* [ADOCEAN-20132] AdOcean adapter - support for gdpr

* [ADOCEAN-20132] AdOcean adapter - tests

* [ADOCEAN-20132] AdOcean adapter - user sync

* [ADOCEAN-20132] AdOcean adapter - formatting

* [ADOCEAN-20132] AdOcean adapter - send uuid to emitter

* [ADOCEAN-20132] adocean adapter - return nil if there is no creative

* [ADOCEAN-20132] AdOcean adapter - add version parameter

* [ADOCEAN-20132] AdOcean adapter - optimization

* [ADOCEAN-20132] AdOcean adapter - add to syncer_test.go

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove whitespaces in js code on adapter initialization instead on every request
* check if request.Site is not nil
* reuse newUri variable

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* do not terminate the auction on a single faulty bid

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove unnecessary input parameters check
* small optimization

* LunaMedia Adapter (#1285)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* [Sharethrough] Add CCPA support (#1263)

* Handle gzip responses from ad server correctly

* Bump to version 8

* [Go Modules] Add proxy (#1079)

* Add SSL cert for accessing stored request API (#1087)

* [misspell] fix a misspell (#1102)

* update static bidder params for rubicon video to follow the json marshalling names (#1100)

* Switching yieldmo auction endpoint from http to https (#1103)

* Add Datablocks Adapter (#1095)

* datablocks bid adapter

* ttx

* add test json

* add coverage

* redo ttx

* formatted

* better error handling

* additional tests and recomended fixes

* Adding translatecategories flag to includebrandcategory (#1098)

* Making IAB category translation optional with translatecategories boolean in request

* Updating exchange unit tests to remove extra bids

* Updates from code review comments

* Removed comment about default TranslateCategories value
* Changed translateCat to translateCategories in tests
* Combined helper functions in exchange_test related to TranslateCategories

* Bid floor (#1085)

* Currency handling fix (#1097)

* facebook adapter refactor (#1064)

* Kubient adapter (#1094)

* [synacormedia] Update user sync url to be https (#1115)

This detail was missed while setting up the adapter, but we would like to use https for the user sync.

* Remove Go 1.11 Build Target (#1109)

* Set "Secure" on Same SIte cookies (#1119)

* TripleliftNative Adapter (#1114)

* ignore swp files

* start small

* start really small

* add a user sync

* justify

* triplelift adapter

* add our endpoint

* fix syntax

* config stuff

* compiler fixes

* more config

* add params

* making progress

* make our ext more exty

* start making responses

* more logic

* fix compilation errors

* can we just nil this out?

* augment our json

* radically simplify our json

* fix errs

* infer the bid type

* fix syntax

* fix comilation errors

* rename

* fix compilation error

* config stuff

* simplify params

* more config stuff

* fixes

* revert this

* fix up the extension

* getting closer

* add a test

* update config

* update bidder params

* add the floor here, too

* add a usersync test

* validation, ws, and a test

* update tests

* fix test

* update email

* why not

* change email

* preprocess requests

* do some parsing

* take care of some errors

* floor is optional

* ws

* remove native

* everything is either banner or video

* this should be a float

* floor to floor

* fix compilation errors

* add some tests

* more tests

* more tests

* simplify

* more progress

* format

* ws

* rm

* don't need this

* fix test

* fix test

* don't ignore swap

* change line back

* report an error if there are no valid impressions for triplelift

* check for either a Banner or Video object on the impression

* more tests

* mv

* more tests

* update triplelift end point

* send native

* ws

* start changing tests

* fix more tests

* update config

* add redirect to triplelift usersync

* fix supplier id in triplelift_test

* update tl usersync endpoint and test

* fix tl supplier id in test json

* update usersync test template

* adjust inconsistency with test and sync url

* mv

* update packages

* mv

* mv

* update

* fix compilation errors

* rename

* rename some stuff

* rename

* rename

* fix some compilation errors

* ws

* ws

* add the extra info

* add some extra info

* add some files back

* ws and such

* updates

* ws

* fix compilation error

* mv

* rename

* Revert "rename"

This reverts commit 1b77c72e1eeee580148540fbdd880e70bf699709.

* Revert "mv"

This reverts commit 52a134ddfaf531fe6235e4751935d4266a36e78f.

* it builds

* cp a file

* cp another file

* fix a test

* fix test

* add the extra info

* ws

* add some logic

* edit comment

* it compiles

* this is now public

* call this

* add the function

* return nil

* seems to be working

* ws

* seems to be working

* ws

* mv

* starting to work

* ws

* add a new function

* ws

* fix tests

* bug fix

* update some stuff

* revert

* take out prints

* fix up diff

* fix up diff

* update ws

* fix

* ws

* omit the triplelift endppint

* Revert "omit the triplelift endppint"

This reverts commit 7abc3e46f0fbba39041da6fff7bb2335adc1fece.

* populate the endpoint through the extinfo

* ws

* set disabled to be default

* ws

* update types

* fixing tests

* making progres

* fix tests

* fix tests

* more fixes for tests

* fixed tests

* just use a comment

* get rid of endpoint

* restore endpoint

* add some errors around unmarshalling

* ws

* ws

* use the literal

* ws

* ws

* update json

* simplify

* ws

* restore tests

* fail fast when grabbing invcode

* use the right type

* use a different error type

* bump code coverage

* add a new test

* change error type

* ws

* break out test into its own function

* JSON block that has a full data-center specific URL cache info (#1104)

* Update Dockerfile and Makefile  (#1099)

* Add option for running tests as part of the docker image building

* Update Makefile

- Add ability to execute adapter specific tests
- Execute targets for "all" rather than just printing the target name and usage
- Remove use of non-existing "install" target from .PHONY targets
- Remove "build" as a dependency for "image"

* enable app requests for audience network (#1122)

* [docs] fix markdown title (#1124)

* Prometheus Refactor (#1108)

* update default sync url (#1127)

* Update sync url for BidderGrid adapter (#1120)

* [SonarCloud] Legacy auction endpoint (#1017)

* [currency converter] allow to deduce reverse rate (#1126)

This CL allows the currency rate currency to deduce a currency rate even
if not directly defined in the table but the reverse rate is present.

E.q.

USD => EUR is 1.0897
EUR => USD is not set

Old behavior when asking rate from EUR to USD will not be found,
New behavior is using the known reverse rate to deduce the rate.

Rate for 2 USD will be 2 * (1 / 1.0897)

* Updated handleError arguments to be pointers for video endpoint (#1128)

* Updated handleError arguments to be pointers for video endpoint

* Removing unneeded pointer to http.ResponseWriter

* Adding units test for update to handleError

* Revert changes to GetExtCacheData() made in #1104 (#1130) (#1131)

* Better native request validation (#1132)

* require the caller to define native assets[...].ID (#1123)

* require the caller to define native assets[...].ID

* Update assets-with-partial-ids.json

* CCPA Phase 1: AMP Endpoint (#1125)

* facebook: removed Auth-Token from header (replaced by authentication_id in the request body) (#1113)

* Setuid Fix (#1121)

* Update http refresh to use url builder. Fixes #1065 (#1133)

* Add mapping of user.ext.eids[] for LiveIntent in Rubicon bidder (#1089)

* support facebook app_secret config param (#1139)

* CCPA Phase 1: Cookie Sync (#1135)

* null check banner.h (#1142)

* Add Pubnative Adapter (#1134)

* Adding the passing of CCPA value to the bid request for video endpoint (#1143)

* first draft (#1137)

* CCPA Phase 2: Enforcement (#1138)

* Gamoshi Adapter: Update cookie sync (#1146)

* Simplify static/bidder-params/triplelift_native.json (#1152)

* Added US Privacy support in TheMediaGrid server adapter (#1147)

* Add TheMediaGrid server adapter

* Add video support in TheMediaGrid s2s adapter

* Update sync url for TheMediaGrid s2s adapter

* Added CCPA support for TheMediaGrid s2s adapter

* Fix sync url for TheMediaGrid adapter

* CCPA User Sync Updates (#1153)

* Marsmedia - add new bidder (#1118)

* Add Applogy adapter (#1151)

* enforce video.size_id for video imps in rubicon adapter (#1101)

* Updated PubMatic endpoint to use https (#1155)

* Update Example AppNexus Placement ID (#1160)

* Fix Currency Converter Doesn't Output CUR (#1154)

* Add custom JSON req/resp data to the analytics logging… (#1145)

* Add custom JSON req/resp data to the analytics logging for the /openrtb2/video endpoint.

* Add calls in unit tests to cover logging and jsonify of video object.

* CCPA User Sync URL Updates (#1157)

* Fixes audienceNetwork adapter ignoring banner.format sizes. (#1164)

* adding yieldmo vendor id to usersync (#1166)

* Add SmartRTB adapter (#1071)

* Added new adapter for CPMStar ad network banners and video (#1159)

* Update the Conversant sync pixel (#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (#1170)

* [currencies] fix GetInfo() null ref issue (#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: #1136

* Fix triplelift User Sync (#1173)

* Enhance Message For Cache Errors (#1175)

* Fix PubMatic Usersync URL (#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (#1165)

* Remove all non-secure calls from eplanning adapter (#1179)

* Expose Cache HTTP Settings (#1184)

* Adding bid rejection messages to debug response (#1181)

* Adds timeout notifications for Facebook (#1182)

* VIS.X: added app type support (#1194)

* Add Adoppler bidder support. (#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (#1183)

* updating default hard-coded list of certs (#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (#1195)

* Adding copying of gdpr consent string to openrtb bid request (#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (#1208)

* openx adapter: forward bid response currency in openx adapter if set (#1211)

it was always set to the default USD before

* add ucfunnel adapter (#1192)

* Update required params for TheMediaGrid adapter (#1188)

* add zeroclickfraud adapter (#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (#1199)

* Add ValueImpression Adapter (#1204)

* Kidoz adapter (#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (#1224)

Fix type

* Update auction.md (#1225)

Fix typo.

* Added logging to cache for video endpoint (#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (#1232)

* treat 204 from FAN as a no bids response (#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (#1187)

* Update rubicon.md (#1234)

* adding schain interface (#1203)

* added Rewarded Video section (#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (#1250)

* Handle CCPA + enable gzip response

[#169984259]

* Addressing review (#273)

[#169984259]

* Remove custom gzip logic  (#280)

* Getting rid of custom gzip logic

[#169984259]

* Restore prod ad server url

[#169984259]

Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>

* Remove Outdated GDPR AMP Special Case (#1283)

* Stricter Privacy Scrubbing (#1286)

* Stricter Privacy Scrubbing

* Update Unit Test Style

* Fixed Whitespace

* Add Adapter Orbidder (#1275)

Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: rvolk <>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>

* Added OpenX Bidder adapter documentation (#1291)

* OpenX adapter: Pass rewarded video flag (#1290)

* Bugfix for missing fields in imp.video (#1297)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add cpmOverride (#1289)

* Add cpmOverride

Enabled `request.ext.rubicon.debug.cpmOverride` and `request.imp[].ext.rubicon.debug.cpmOverride` processing.
Updates tests

* Remove unnecessary error checks and add shallow copy

* Fixed same pointer

* Add Beintoo adapter (#1274)

* Add Beintoo adapter

* Yeahmobi adapter (#1279)

Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>

* advangelists: Vendor id update (#1307)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Consumable: Support GDPR and US Privacy consent (#1300)

* Restore the AMP privacy exception as an option. (#1311)

* Restore the AMP privacy exception as an option.

* Adds missing test case

* More PR feedback

* Remove unused constant

* Comment tweak

* consumable: Correct GDPR vendor ID to 591. (#1309)

fixes #1299.

* VIS.X: fix bid.ID, bid.CrID and set default currency value (#1296)

* Fix debug log error messages (#1270)

* Fixing missing error messages for debug logging

* Updated formatting of debug log message

* Updated unit tests for debug log to have test flag enabled

* Cleaned up debug log implementation

* Updates from review comments

* Cleaned up field and function names
* Added replacer for <> characters
* Added cache string unit test

* Moved regex from function to struct field

* Moved debug regex to endpoint deps

* Moving regex initialization to NewVideoEndpoint

* MobileFuse Adapter (#1303)

Co-authored-by: Dan Barnett <danb@mobilefuse.com>

* eplanning: Support for apps (#1306)

* Introduce Adhese adapter (#1292)

Co-authored-by: Mateusz <mateusz@adhese.eu>

* privacy: Potential JSON injection (#1304)

* Updating bidder params for Advangelists (#1316)

* Updating placement info on bidder params

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Change placement of cpmoverride for Rubicon (#1310)

* increasing the stale period to 2 months (#1305)

* Add Go 1.14 Build Target (#1314)

* Privacy: Remove user.ext.eids (#1294)

* Privacy: Remove user.ext.eids

* Extract To A Method

* Minor Refactor + More Tests

* Performance Tweak

* Removed some redundant methods (#1320)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

* Removed some redundant methods.

* Removed a comment

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Beachfront: GDPR id (issue 1301) and documentation updates (#1321)

* Defined cookie sync URL in config, cleared deprecated comment in usersync

* Update beachfront.md

* editing documentation

* updated gdpr id - issue 1301

* Add Yieldlab Adapter (#1287)

Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Signed-off-by: Alex Klinkert <alex@klinkert.io>

Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>

* Update adtelligent ortb endpoint (#1318)

* Change on eplanning endpoint (#1327)

* Enable full TCF2 support (#1302)

* New config options

* Enble TCF2 fields and logic

* Resolves some PR comments

* More tests

* gofmt

* Added enforcement tests for split GDPR/GDPRGeo

* Testing tweaks

* No longer ignore enforce purpose 1 on allowSync()

* Removes Purpose 4

* Change on eplanning endpoint (hostname) (#1328)

* Districtm Dmx: new adapter  (#1209)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Fix sync url for Yieldone s2s Bid Adapter (#1336)

* Fix typo in Yieldone sync url

* CCPA Video Bug (#1333)

* Add Pubnative bidder documentation (#1340)

* Timeout notification monitoring and debugging (#1322)

* Add Adtarget server adapter (#1319)

* Add Adtarget server adapter

* Suggested changes for Adtarget

* Update Auction OpenRTB Sample (#1342)

* Update Auction OpenRTB Sample

* Removed Extra "Or"

* Triplelift: Add SRA Support (#1347)

* Privacy: Limit Ad Tracking (#1334)

* Avoid overriding AMP request original size with mutli-size (#1352)

* Extra logging for timeout notifications (#1349)

* Consumable: Correct bid type, should always be "banner". (#1359)

* Build With Go 1.14 (#1350)

* Category mapping changes from product team. (#1348)

* Adds Avocet adapter (#1354)

* AdOcean adapter - Support for sizes defined in prebid configuration. (#1339)

support for multiple sizes

bump version to 1.1.0

* Log account id and all bidder names when recovering from OpenRTB auction bidder… (#1358)

* Adding Smartadserver adapter (#1346)

Co-authored-by: tadam <tadam@smartadserver.com>

* Added additional Ext Param (#1357)

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Adman adapter (#1356)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* PBS-632 add max connections per host config setting to general http a… (#1366)

* Add ext.bidder.zoneid for Kubient adapater (#1367)

* Add ext.bidder.zoneid for Kubient adapater

* Check the number of Imps. zoneid is optional.

* Improved IPv6 Support + Private Network Filtering (#1362)

* Change endpont address (#1370)

* Adman adapter

* add adman line to syner test

* add tests

* fix issues

* fix web banner test

* add 404 banner

* fmt

* rase coverage

* del redundant files

* change endpont address

* change config endpoint

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Don't override test parameter (#1373)

* OpenX + Facebook Hardening (#1368)

* Updating Conversant endpoint url (#1376)

* Metrics for TCF 2 adoption (#1360)

* Fall back to constant rates when the currency rates endpoint i… (#1364)

* TheMediaGrid: added app type support (#1377)

* user.ext.eids support in adform adapter (#1381)

* Add Logicad adapter (#1382)

* Fix Previous Merge Conflict (#1392)

* Kubient: Change default endpont address (#1398)

* Add support for multiple root schain nodes (#1374)

* Update endpoint for latest release by districtm (#1401)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Set OpenRTB DNT From HTTP Header (#1397)

* Add video for InApp support (#1399)

* Timeout fix (#1390)

* Privacy Request Metrics (#1400)

* Privacy Request Metrics

* Fix Bug + Add Unit Tests

* Fixed Tests

* Fix Typo

* Parse Site.Publisher.ID from Amp Auction HTTP Req Query Parameter "account" (#1403)

* Facebook Only Supports App Impressions (#1396)

* fix: Change currency of ad-generation's bidResponse according to bidRequest (#1383)

* Adding primary categories to freewheel mapping (#1407)

* Add Outgoing Connection Metrics (#1343)

* Pubmatic: Support for video duration and primary category (#1384)

* Adding suport for video duration and primary category in pubmatic adapter

* Adding code review changes for PR-1384

* Adding changes for syntaxNode suggestion

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Add IPv6 Non-Public Network (#1417)

* GumGum: adds support for video (#1408)

* OpenX adapter: pass optional platform (PBID-598) (#1421)

* Adds keyvalue hb_format support (#1414)

* feat: Add new logger module - Pubstack Analytics Module (#1331)

* Pubstack Analytics V1 (#11)

* V1 Pubstack (#7)

* feat: Add Pubstack Logger (#6)

* first version of pubstack analytics

* bypass viperconfig

* commit #1

* gofmt

* update configuration and make the tests pass

* add readme on how to configure the adapter and update the network calls

* update logging and fix intake url definition

* feat: Pubstack Analytics Connector

* fixing go mod

* fix: bad behaviour on appending path to auction url

* add buffering

* support bootstyrap like configuration

* implement route for all the objects

* supports termination signal handling for goroutines

* move readme to the correct location

* wording

* enable configuration reload + add tests

* fix logs messages

* fix tests

* fix log line

* conclude merge

* merge

* update go mod

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix duplicated channel keys

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* first pass - PR reviews

* rename channel* -> eventChannel

* dead code

* Review (#10)

* use json.Decoder

* update documentation

* use nil instead []byte("")

* clean code

* do not use http.DefaultClient

* fix race condition (need validation)

* separate the sender and buffer logics

* refactor the default configuration

* remove error counter

* Review GP + AR

* updating default config

* add more logs

* remove alias fields in json

* fix json serializer

* close event channels

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix race condition

* first pass (pr reviews)

* refactor: store enabled modules into a dedicated struct

* stop goroutine

* test: improve coverage

* PR Review

* Revert "refactor: store enabled modules into a dedicated struct"

This reverts commit f57d9d61680c74244effc39a5d96d6cbb2f19f7d.

# Conflicts:
#	analytics/config/config_test.go

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* New bid adapter for Smaato (#1413)

Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>

* New Adprime adapter (#1418)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Separate "debug" behavior from "billable" behavior (#1387)

* Remove redundad struct (#1432)

* Tcf2 id support (#1420)

* Default TCF1 GVL in anticipation of IAB no longer hosting the v1 GVL (#1433)

* update to the latest go-gdpr release (#1436)

* Video endpoint bid selection enhancements (#1419)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* [WIP] Bid deduplication enhancement (#1430)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Refactor rate converter separating scheduler from converter logic to improve testability (#1394)

* Fix TCF1 Fetcher Fallback (#1438)

* Eplanning adapter: Get domain from page (#1434)

* Fix no bid debug log (#1375)

* Update the fallback GVL to last version (#1440)

* Enable geo activation of GDPR flag (#1427)

* Validate External Cache Host  (#1422)

* first draft

* Little tweaks

* Scott's review part 1

* Scott's review corrections part 2

* Scotts refactor

* correction in config_test.go

* Correction and refactor

* Multiple return statements

* Test case refactor

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Fixes bug (#1448)

* Fixes bug

* shortens list

* Added adpod_id to request extension (#1444)

* Added adpod_id to request -> ext -> appnexus and modified requests splitting based on pod

* Unit test fix

* Unit test fix

* Minor unit test fixes

* Code refactoring

* Minor code and unit tests refactoring

* Unit tests refactoring

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Adform adapter: additional targeting params added (#1424)

* Fix minor error message spelling mistake "vastml" -> "vastxml" (#1455)

* Fixing comment for usage of deal priority field (#1451)

* moving docs to website repo (#1443)

* Fix bid dedup (#1456)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* consumable: Correct width and height reported in response. (#1459)

Prebid Server now responds with the width and height specified in
the Bid Response from Consumable. Previously it would reuse the width
and height specified in the Bid Request. That older behaviour was
ported from an older version of the prebid.js adapter but is no longer
valid.

* Panics happen when left with zero length []Imp (#1462)

* Add Scheme Option To External Cache URL (#1460)

* Update gamma adapter (#1447)

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* Update gamma.go

* Update config.go

Remove Gamma User Sync Url from config

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* update gamma adapter

* return nil when have No-Bid Signaling

* add missing-adm.json

* discard the bid that's missing adm

* discard the bid that's missing adm

* escape vast instead of encoded it

* expand test coverage

Co-authored-by: Easy Life <ezlife.ga@gmail.com>

* fix: avoid unexpected EOF on gz writer (#1449)

* Smaato adapter: support for video mediaType (#1463)

Co-authored-by: vikram <vikram.chandel@smaato.com>

* Rubicon liveramp param (#1466)

Add liveramp mapping to user.ext

should translate the "liveramp.com" id from the "user.ext.eids" array to "user.ext.liveramp_idl" as follows:

```
{
  "user": {
    "ext": {
      "eids": [{
        "source": 'liveramp.com',
        "uids": [{
          "id": "T7JiRRvsRAmh88"
        }]
      }]
    }
  }
}
```

 to XAPI:
```
{
  "user": {
    "ext": {
      "liveramp_idl": "T7JiRRvsRAmh88"
    }
  }
}
```

* Consolidate StoredRequest configs, add validation for all data types (#1453)

* Fix Test TestEventChannel_OutputFormat (#1468)

* Add ability to randomly generate source.TID if empty and set publisher.ID to resolved account ID (#1439)

* Add support for Account configuration (PBID-727, #1395) (#1426)

* Minor changes to accounts test coverage (#1475)

* Brightroll adapter - adding config support (#1461)

* Refactor TCF 1/2 Vendor List Fetcher Tests (#1441)

* Add validation checker for PRs and merges with github actions (#1476)

* Cache refactor (#1431)

Reason: Cache has Fetcher-like functionality to handle both requests and
imps at a time. Internally, it still uses two caches configured and searched
separately, causing some code repetition. Reusing this code to cache
other objects like accounts is not easy.

Keeping the req/imp repetition in fetcher and out of cache allows for a
reusable simpler cache, preserving existing fetcher functionality.

Changes in this set:

Cache is now a simple generic id->RawMessage store
fetcherWithCache handles the separate req and imp caches
ComposedCache handles single caches - but it does not appear to be used
Removed cache overlap tests since they do not apply now
Slightly less code

* Pass Through First Party Context Data (#1479)

* Added new size 640x360 (Id: 198) (#1490)

* Refactor: move getAccount to accounts package (from openrtb2) (#1483)

* Fixed TCF2 Geo Only Enforcement (#1492)

* New colossus adapter [Clean branch] (#1495)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* New: InMobi Prebid Server Adapter (#1489)

* Adding InMobi adapter

* code review feedback, also explicitly working with Imp[0], as we don't support multiple impressions

* less tolerant bidder params due to sneaky 1.13 -> 1.14+ change

* Revert "Added new size 640x360 (Id: 198) (#1490)" (#1501)

This reverts commit fa23f5c226df99a9a4ef318100fdb7d84d3e40fa.

* CCPA Publisher No Sale Relationships (#1465)

* Fix Merge Conflict (#1502)

* Update conversant adapter for new prebid-server interface (#1484)

* Implement returnCreative (#1493)

* Working solution

* clean-up

* Test copy/paste error

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* ConnectAd S2S Adapter (#1505)

* between adapter (#1437)

Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>

* Invibes adapter (#1469)

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* Refactor postgres event producer so it will run either the full or de… (#1485)

* Refactor postgres event producer so it will run either the full or delta query periodically

* Minor cleanup, follow golang conventions, declare const slice, add test cases

* Remove comments

* Bidder Uniqueness Gatekeeping Test (#1506)

* ucfunnel adapter update end point (#1511)

* Refactor EEAC map to be more in line with the nonstandard publisher map (#1514)

* Added bunch of new sizes (#1516)

* New krushmedia bid adapter (#1504)

* Invibes: Generic domainId parameter (#1512)

* Smarty ads adapter (#1500)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>

* Add vscode remote container development files (#1481)

* First commit (#1510)

Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>

* Vtrack and event endpoints (#1467)

* Rework pubstack module tests to remove race conditions (#1522)

* Rework pubstack module tests to remove race conditions

* PR feedback

* Remove event count and add helper methods to assert events received on channel

* Updating smartadserver endpoint configuration. (#1531)

Co-authored-by: tadam <tadam@smartadserver.com>

* Add new size 500x1000 (ID: 548) (#1536)

* Fix missing Request parameter for Adgeneration Adapter (#1525)

* Fix endpoint url for TheMediaGrid Bid Adapter (#1541)

* Add Account cache (#1519)

* Add bidder name key support (#1496)

* Simplifying exchange module: bidResponseExt gets built anyway (#1518)

* first draft

* Scott's feedback

* stepping out real quick

* add cache errors to bidResponseExt before marshalling

* Removed vim's swp file

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Correct GetCpmStringValue's second return value (#1520)

* Add metrics to capture stored data fetch all/delta durations with fetch status (#1515)

* Adds preferDeals support (#1528)

* Emxd 3336 add app video ctv (#1529)

* Adapter changes for app and video support

* adding ctv devicetype test case

* Adding whitespace

* Updates based on feedback from Prebid team

* protocol bug fix and testing

* Modifying test cases to accomodate new imp.ext field

* bidtype bug fix and additonal testcase for storeUrl

Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>

* Add http api for fetching accounts (#1545)

* Add missing postgres cache init config validation

* Acuity ads adapter (#1537)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>

* Yieldmo app support in yaml file (#1542)

Co-authored-by: Winston <wiston@yieldmo.com>

* Add metrics for account cache (#1543)

* [Invibes] remove user sync for invibes (#1550)

* [invibes] new bidder stub

* [invibes] make request

* [invibes] bid request parameters

* [invibes] fix errors, add tests

* [invibes] new version of MakeBids

* cleaning code

* [invibes] production urls, isamp flag

* [invibes] fix parameters

* [invibes] new test parameter

* [invibes] change maintainer email

* [invibes] PR fixes

* [invibes] fix parameters test

* [invibes] refactor endpoint template and bidVersion

* [Invibes] fix tests

* [invibes] resolve PR

* [invibes] fix test

* [invibes] fix test

* [invibes] generic domainId parameter

* [invibes] remove invibes cookie sync

* [Invibes] comment missing Usersync

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* Add Support For imp.ext.prebid For DealTiers (#1539)

* Add Support For imp.ext.prebid For DealTiers

* Remove Normalization

* Add Accounts to http cache events (#1553)

* Fix JSON tests ignore expected message field (#1450)

* NoBid version 1.0. Initial commit. (#1547)

Co-authored-by: Reda Guermas <reda.guermas@nobid.io>

* Added dealTierSatisfied parameters in exchange.pbsOrtbBid and openrtb_ext.ExtBidPrebid and dealPriority in openrtb_ext.ExtBidPrebid  (#1558)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Add client/AccountID support into Adoppler adapter. (#1535)

* Optionally read IFA value and add it the the request url (Adhese) (#1563)

* Add AMX RTB adapter (#1549)

* update Datablocks usersync.go (#1572)

* 33Across: Add video support in adapter (#1557)

* SilverMob adapter (#1561)

* SilverMob adapter

* Fixes andchanges according to notes in PR

* Remaining fixes:
multibids, expectedMakeRequestsErrors

* removed log

* removed log

* Multi-bid test

* Removed unnesesary block

Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>

* Updated ePlanning GVL ID (#1574)

* update adpone google vendor id (#1577)

* ADtelligent gvlid (#1581)

* Add account/ host GDPR enabled flags & account per request type GDPR enabled flags (#1564)

* Add account level request type specific and general GDPR enabled flags

* Clean up test TestAccountLevelGDPREnabled

* Add host-level GDPR enabled flag

* Move account GDPR enable check as receiver method on accountGDPR

* Remove mapstructure annotations on account structs

* Minor test updates

* Re-add mapstructure annotations on account structs

* Change RequestType to IntegrationType and struct annotation formatting

* Update comment

* Update account IntegrationType comments

* Remove extra space in config/accounts.go via gofmt

* DMX Bidfloor fix (#1579)

* adform bidder video bid response support (#1573)

* Fix Beachfront JSON tests (#1578)

* Add account CCPA enabled and per-request-type enabled flags (#1566)

* Add account level request-type-specific and general CCPA enabled flags

* Remove mapstructure annotations on CCPA account structs and clean up CCPA tests

* Adjust account/host CCPA enabled flag logic to incorporate feedback on similar GDPR feature

* Add shared privacy policy account integration data structure

* Refactor EnabledForIntegrationType methods on account privacy objects

* Minor test refactor

* Simplify logic in EnabledForIntegrationType methods

* Refactored HoldAuction Arguments (#1570)

* Fix bug in request.imp.ext Validation (#1575)

* First draft

* Brian's reivew

* Removed leftover comments

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>

* Updating import statements for v0.138.0 upgrade

* UOE-5690: Fixing merging issues

* UOE-5690 Fixing merging issues

* prebid-server v0.138 upgrade: fixing merging issue

* Prebid-upgrade Fixing test cases

* Prebid-server upgrade: removing unwanted files

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertixvost@gmail.com>
Co-authored-by: Steve Alliance <steve.alliance@gmail.com>
Co-authored-by: steve-a-districtm <steve@districtm.net>
Co-authored-by: Artur Aleksanyan <artur.aleksanyan89@gmail.com>
Co-authored-by: Brandon Ling <51931757+blingster7@users.noreply.github.com>
Co-authored-by: Richard Lee <14349+dlackty@users.noreply.github.com>
Co-authored-by: Simon Critchley <sicritchley@gmail.com>
Co-authored-by: Brian Sardo <1168933+bsardo@users.noreply.github.com>
Co-authored-by: tadam75 <adam.thomas@live.fr>
Co-authored-by: tadam <tadam@smartadserver.com>
Co-authored-by: SmartyAdman <59048845+SmartyAdman@users.noreply.github.com>
Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>
Co-authored-by: Marsel <marsel.taipov@kubient.com>
Co-authored-by: AaronColbyPrice <67345931+AaronColbyPrice@users.noreply.github.com>
Co-authored-by: Jurij Sinickij <jurij.sinickij@gmail.com>
Co-authored-by: logicad <ytsuchiya@so-netmedia.jp>
Co-authored-by: Daniel Barrigas <danielgbarrigas@gmail.com>
Co-authored-by: susyt <susan@fox.camp>
Co-authored-by: gpolaert <gpolaert@pubstack.io>
Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>
Co-authored-by: Vikram <vikramsinghchandel@users.noreply.github.com>
Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>
Co-authored-by: Adprime <64427228+Adprime@users.noreply.github.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>
Co-authored-by: Jurij Sinickij <jurij.sinickij@adform.com>
Co-authored-by: Rob Hazan <robhazan@gmail.com>
Co-authored-by: GammaSSP <35954362+gammassp@users.noreply.github.com>
Co-authored-by: Easy Life <ezlife.ga@gmail.com>
Co-authored-by: smithaammassamveettil <39389834+smithaammassamveettil@users.noreply.github.com>
Co-authored-by: hdeodhar <35999856+hdeodhar@users.noreply.github.com>
Co-authored-by: Bill Newman <huddled.masses1650@gmail.com>
Co-authored-by: Daniel Lawrence <Aether963@gmail.com>
Co-authored-by: rtuschkany <35923908+rtuschkany@users.noreply.github.com>
Co-authored-by: Alexey Elymanov <strangeqargo@gmail.com>
Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>
Co-authored-by: invibes <51820283+invibes@users.noreply.github.com>
Co-authored-by: aurel.vasile <vaurels@yahoo.com>
Co-authored-by: ucfunnel <39581136+ucfunnel@users.noreply.github.com>
Co-authored-by: Krushmedia <71434282+Krushmedia@users.noreply.github.com>
Co-authored-by: Kushneryk Pavel <levelup.kpi@gmail.com>
Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Dan Bogdan <43830380+EMXDigital@users.noreply.github.com>
Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>
Co-authored-by: AcuityAdsIntegrations <72594990+AcuityAdsIntegrations@users.noreply.github.com>
Co-authored-by: Winston <wiston@yieldmo.com>
Co-authored-by: redaguermas <redaguermas@gmail.com>
Co-authored-by: Reda Guermas <reda.guermas@nobid.io>
Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>
Co-authored-by: Nick Jacob <nickbjacob@gmail.com>
Co-authored-by: Aparna Rao <pr.aparna@gmail.com>
Co-authored-by: silvermob <73727464+silvermob@users.noreply.github.com>
Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>
Co-authored-by: Sergio <sergio.anru@gmail.com>
PubMatic-OpenWrap added a commit to PubMatic-OpenWrap/prebid-server that referenced this pull request Dec 23, 2020
* add admixer adapter (#1195)

* Adding copying of gdpr consent string to openrtb bid request (#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (#1208)

* openx adapter: forward bid response currency in openx adapter if set (#1211)

it was always set to the default USD before

* add ucfunnel adapter (#1192)

* Update required params for TheMediaGrid adapter (#1188)

* add zeroclickfraud adapter (#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (#1199)

* Add ValueImpression Adapter (#1204)

* Kidoz adapter (#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (#1224)

Fix type

* Update auction.md (#1225)

Fix typo.

* Added logging to cache for video endpoint (#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (#1232)

* treat 204 from FAN as a no bids response (#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (#1187)

* Update rubicon.md (#1234)

* adding schain interface (#1203)

* added Rewarded Video section (#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (#1250)

* replacing info@prebid.org maintainer email addrs (#1256)

* aligning maintainer info (#1258)

* Add kidoz bidder info (#1257)

got this info from email communication with kidoz

* Add Cropping of BAdv for Rubicon Adapter (#1254)

* Add Cropping of BAdv for Rubicon Adapter

BAdv size is limited to 50

* Fix after review

Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>

* Added metrics support to endpoint aspect (#1226)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Prebid Server adapter for Telaria (#1231)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* #615 Beachfront URLs from config (#1238)

* Add nil check errors when setting native asset types (#1260)

* Bugfix: no bids from bidder handling (#1252)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add missing categories to AppNexus -> IAB mapping file. (#1264)

* Add missing categories to AppNexus -> IAB mapping file.

* Remove entry for category 38 which was set to a primary IAB category instead of a sub-category.

* Fix order of category 22

* Yieldone s2s Bid Adapter (#1242)

* Added new Yieldone Bid s2s Adapter

* Update endpoint for yieldone bid adapter

* Fixes after review for Yieldone Bid s2s Adapter

* Fix typeo in Yieldone s2s Bid Adapter

* Fix: URL de sync (#1261)

* populate the app ID in the FAN timeout notif url with the publisher ID (#1265)

and the auction with the request ID

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* Added header User Agent decoding (#1268)

* Added header User Agent decoding

* Added header User Agent decoding: unit tests

* Added header User Agent decoding: unit tests

* Added check UA is encoded to avoid `+` converted to space

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Ad Generation Adapter Integration. (#1253)

* AdGeneration Integration.

* update AdGeneration adapter.
fix: some methods of the adgAdapter replace to functions.
fix: unmarshal functions return a pointer.
fix: header is defined once.
fix: return when imps is appended

* update AdGeneration Adapter.

add: Added a comment in usersync.
add: Added a test for parameters whose ID does not exist in params_test.
change: Change to query creation by net/url. Added getRawQuery Test.
fix: Changed variable names related to bidRequest.

* Fix Go 1.14 Error Message Changes (#1271)

* NinthDecimal Adapter (#1249)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* * Add PubMatic bidder doc file (#1255)

* Add app video capability to PubMatic bidder info file

* Appnexus adapter: Add category mapping for government. (#1278)

* Update a Freewheel mapping to Gaming category. (#1280)

* Add AJA adapter (#1269)

* OpenX adapter: Pass gdpr and gdpr_consent to user sync endpoint (#1282)

I've also updated the test to avoid any confusion.

* OpenX adapter: Enable video for app (#1281)

* fix conversant sync pixel (#1284)

* Add AdOcean adapter (#1273)

* [ADOCEAN-20132] AdOcean adapter

* [ADOCEAN-20132] AdOcean adapter - support for gdpr

* [ADOCEAN-20132] AdOcean adapter - tests

* [ADOCEAN-20132] AdOcean adapter - user sync

* [ADOCEAN-20132] AdOcean adapter - formatting

* [ADOCEAN-20132] AdOcean adapter - send uuid to emitter

* [ADOCEAN-20132] adocean adapter - return nil if there is no creative

* [ADOCEAN-20132] AdOcean adapter - add version parameter

* [ADOCEAN-20132] AdOcean adapter - optimization

* [ADOCEAN-20132] AdOcean adapter - add to syncer_test.go

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove whitespaces in js code on adapter initialization instead on every request
* check if request.Site is not nil
* reuse newUri variable

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* do not terminate the auction on a single faulty bid

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove unnecessary input parameters check
* small optimization

* LunaMedia Adapter (#1285)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* [Sharethrough] Add CCPA support (#1263)

* Handle gzip responses from ad server correctly

* Bump to version 8

* [Go Modules] Add proxy (#1079)

* Add SSL cert for accessing stored request API (#1087)

* [misspell] fix a misspell (#1102)

* update static bidder params for rubicon video to follow the json marshalling names (#1100)

* Switching yieldmo auction endpoint from http to https (#1103)

* Add Datablocks Adapter (#1095)

* datablocks bid adapter

* ttx

* add test json

* add coverage

* redo ttx

* formatted

* better error handling

* additional tests and recomended fixes

* Adding translatecategories flag to includebrandcategory (#1098)

* Making IAB category translation optional with translatecategories boolean in request

* Updating exchange unit tests to remove extra bids

* Updates from code review comments

* Removed comment about default TranslateCategories value
* Changed translateCat to translateCategories in tests
* Combined helper functions in exchange_test related to TranslateCategories

* Bid floor (#1085)

* Currency handling fix (#1097)

* facebook adapter refactor (#1064)

* Kubient adapter (#1094)

* [synacormedia] Update user sync url to be https (#1115)

This detail was missed while setting up the adapter, but we would like to use https for the user sync.

* Remove Go 1.11 Build Target (#1109)

* Set "Secure" on Same SIte cookies (#1119)

* TripleliftNative Adapter (#1114)

* ignore swp files

* start small

* start really small

* add a user sync

* justify

* triplelift adapter

* add our endpoint

* fix syntax

* config stuff

* compiler fixes

* more config

* add params

* making progress

* make our ext more exty

* start making responses

* more logic

* fix compilation errors

* can we just nil this out?

* augment our json

* radically simplify our json

* fix errs

* infer the bid type

* fix syntax

* fix comilation errors

* rename

* fix compilation error

* config stuff

* simplify params

* more config stuff

* fixes

* revert this

* fix up the extension

* getting closer

* add a test

* update config

* update bidder params

* add the floor here, too

* add a usersync test

* validation, ws, and a test

* update tests

* fix test

* update email

* why not

* change email

* preprocess requests

* do some parsing

* take care of some errors

* floor is optional

* ws

* remove native

* everything is either banner or video

* this should be a float

* floor to floor

* fix compilation errors

* add some tests

* more tests

* more tests

* simplify

* more progress

* format

* ws

* rm

* don't need this

* fix test

* fix test

* don't ignore swap

* change line back

* report an error if there are no valid impressions for triplelift

* check for either a Banner or Video object on the impression

* more tests

* mv

* more tests

* update triplelift end point

* send native

* ws

* start changing tests

* fix more tests

* update config

* add redirect to triplelift usersync

* fix supplier id in triplelift_test

* update tl usersync endpoint and test

* fix tl supplier id in test json

* update usersync test template

* adjust inconsistency with test and sync url

* mv

* update packages

* mv

* mv

* update

* fix compilation errors

* rename

* rename some stuff

* rename

* rename

* fix some compilation errors

* ws

* ws

* add the extra info

* add some extra info

* add some files back

* ws and such

* updates

* ws

* fix compilation error

* mv

* rename

* Revert "rename"

This reverts commit 1b77c72e1eeee580148540fbdd880e70bf699709.

* Revert "mv"

This reverts commit 52a134ddfaf531fe6235e4751935d4266a36e78f.

* it builds

* cp a file

* cp another file

* fix a test

* fix test

* add the extra info

* ws

* add some logic

* edit comment

* it compiles

* this is now public

* call this

* add the function

* return nil

* seems to be working

* ws

* seems to be working

* ws

* mv

* starting to work

* ws

* add a new function

* ws

* fix tests

* bug fix

* update some stuff

* revert

* take out prints

* fix up diff

* fix up diff

* update ws

* fix

* ws

* omit the triplelift endppint

* Revert "omit the triplelift endppint"

This reverts commit 7abc3e46f0fbba39041da6fff7bb2335adc1fece.

* populate the endpoint through the extinfo

* ws

* set disabled to be default

* ws

* update types

* fixing tests

* making progres

* fix tests

* fix tests

* more fixes for tests

* fixed tests

* just use a comment

* get rid of endpoint

* restore endpoint

* add some errors around unmarshalling

* ws

* ws

* use the literal

* ws

* ws

* update json

* simplify

* ws

* restore tests

* fail fast when grabbing invcode

* use the right type

* use a different error type

* bump code coverage

* add a new test

* change error type

* ws

* break out test into its own function

* JSON block that has a full data-center specific URL cache info (#1104)

* Update Dockerfile and Makefile  (#1099)

* Add option for running tests as part of the docker image building

* Update Makefile

- Add ability to execute adapter specific tests
- Execute targets for "all" rather than just printing the target name and usage
- Remove use of non-existing "install" target from .PHONY targets
- Remove "build" as a dependency for "image"

* enable app requests for audience network (#1122)

* [docs] fix markdown title (#1124)

* Prometheus Refactor (#1108)

* update default sync url (#1127)

* Update sync url for BidderGrid adapter (#1120)

* [SonarCloud] Legacy auction endpoint (#1017)

* [currency converter] allow to deduce reverse rate (#1126)

This CL allows the currency rate currency to deduce a currency rate even
if not directly defined in the table but the reverse rate is present.

E.q.

USD => EUR is 1.0897
EUR => USD is not set

Old behavior when asking rate from EUR to USD will not be found,
New behavior is using the known reverse rate to deduce the rate.

Rate for 2 USD will be 2 * (1 / 1.0897)

* Updated handleError arguments to be pointers for video endpoint (#1128)

* Updated handleError arguments to be pointers for video endpoint

* Removing unneeded pointer to http.ResponseWriter

* Adding units test for update to handleError

* Revert changes to GetExtCacheData() made in #1104 (#1130) (#1131)

* Better native request validation (#1132)

* require the caller to define native assets[...].ID (#1123)

* require the caller to define native assets[...].ID

* Update assets-with-partial-ids.json

* CCPA Phase 1: AMP Endpoint (#1125)

* facebook: removed Auth-Token from header (replaced by authentication_id in the request body) (#1113)

* Setuid Fix (#1121)

* Update http refresh to use url builder. Fixes #1065 (#1133)

* Add mapping of user.ext.eids[] for LiveIntent in Rubicon bidder (#1089)

* support facebook app_secret config param (#1139)

* CCPA Phase 1: Cookie Sync (#1135)

* null check banner.h (#1142)

* Add Pubnative Adapter (#1134)

* Adding the passing of CCPA value to the bid request for video endpoint (#1143)

* first draft (#1137)

* CCPA Phase 2: Enforcement (#1138)

* Gamoshi Adapter: Update cookie sync (#1146)

* Simplify static/bidder-params/triplelift_native.json (#1152)

* Added US Privacy support in TheMediaGrid server adapter (#1147)

* Add TheMediaGrid server adapter

* Add video support in TheMediaGrid s2s adapter

* Update sync url for TheMediaGrid s2s adapter

* Added CCPA support for TheMediaGrid s2s adapter

* Fix sync url for TheMediaGrid adapter

* CCPA User Sync Updates (#1153)

* Marsmedia - add new bidder (#1118)

* Add Applogy adapter (#1151)

* enforce video.size_id for video imps in rubicon adapter (#1101)

* Updated PubMatic endpoint to use https (#1155)

* Update Example AppNexus Placement ID (#1160)

* Fix Currency Converter Doesn't Output CUR (#1154)

* Add custom JSON req/resp data to the analytics logging… (#1145)

* Add custom JSON req/resp data to the analytics logging for the /openrtb2/video endpoint.

* Add calls in unit tests to cover logging and jsonify of video object.

* CCPA User Sync URL Updates (#1157)

* Fixes audienceNetwork adapter ignoring banner.format sizes. (#1164)

* adding yieldmo vendor id to usersync (#1166)

* Add SmartRTB adapter (#1071)

* Added new adapter for CPMStar ad network banners and video (#1159)

* Update the Conversant sync pixel (#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (#1170)

* [currencies] fix GetInfo() null ref issue (#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: #1136

* Fix triplelift User Sync (#1173)

* Enhance Message For Cache Errors (#1175)

* Fix PubMatic Usersync URL (#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (#1165)

* Remove all non-secure calls from eplanning adapter (#1179)

* Expose Cache HTTP Settings (#1184)

* Adding bid rejection messages to debug response (#1181)

* Adds timeout notifications for Facebook (#1182)

* VIS.X: added app type support (#1194)

* Add Adoppler bidder support. (#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (#1183)

* updating default hard-coded list of certs (#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (#1195)

* Adding copying of gdpr consent string to openrtb bid request (#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (#1208)

* openx adapter: forward bid response currency in openx adapter if set (#1211)

it was always set to the default USD before

* add ucfunnel adapter (#1192)

* Update required params for TheMediaGrid adapter (#1188)

* add zeroclickfraud adapter (#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (#1199)

* Add ValueImpression Adapter (#1204)

* Kidoz adapter (#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (#1224)

Fix type

* Update auction.md (#1225)

Fix typo.

* Added logging to cache for video endpoint (#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (#1232)

* treat 204 from FAN as a no bids response (#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (#1187)

* Update rubicon.md (#1234)

* adding schain interface (#1203)

* added Rewarded Video section (#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (#1250)

* Handle CCPA + enable gzip response

[#169984259]

* Addressing review (#273)

[#169984259]

* Remove custom gzip logic  (#280)

* Getting rid of custom gzip logic

[#169984259]

* Restore prod ad server url

[#169984259]

Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>

* Remove Outdated GDPR AMP Special Case (#1283)

* Stricter Privacy Scrubbing (#1286)

* Stricter Privacy Scrubbing

* Update Unit Test Style

* Fixed Whitespace

* Add Adapter Orbidder (#1275)

Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: rvolk <>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>

* Added OpenX Bidder adapter documentation (#1291)

* OpenX adapter: Pass rewarded video flag (#1290)

* Bugfix for missing fields in imp.video (#1297)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add cpmOverride (#1289)

* Add cpmOverride

Enabled `request.ext.rubicon.debug.cpmOverride` and `request.imp[].ext.rubicon.debug.cpmOverride` processing.
Updates tests

* Remove unnecessary error checks and add shallow copy

* Fixed same pointer

* Add Beintoo adapter (#1274)

* Add Beintoo adapter

* Yeahmobi adapter (#1279)

Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>

* advangelists: Vendor id update (#1307)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Consumable: Support GDPR and US Privacy consent (#1300)

* Restore the AMP privacy exception as an option. (#1311)

* Restore the AMP privacy exception as an option.

* Adds missing test case

* More PR feedback

* Remove unused constant

* Comment tweak

* consumable: Correct GDPR vendor ID to 591. (#1309)

fixes #1299.

* VIS.X: fix bid.ID, bid.CrID and set default currency value (#1296)

* Fix debug log error messages (#1270)

* Fixing missing error messages for debug logging

* Updated formatting of debug log message

* Updated unit tests for debug log to have test flag enabled

* Cleaned up debug log implementation

* Updates from review comments

* Cleaned up field and function names
* Added replacer for <> characters
* Added cache string unit test

* Moved regex from function to struct field

* Moved debug regex to endpoint deps

* Moving regex initialization to NewVideoEndpoint

* MobileFuse Adapter (#1303)

Co-authored-by: Dan Barnett <danb@mobilefuse.com>

* eplanning: Support for apps (#1306)

* Introduce Adhese adapter (#1292)

Co-authored-by: Mateusz <mateusz@adhese.eu>

* privacy: Potential JSON injection (#1304)

* Updating bidder params for Advangelists (#1316)

* Updating placement info on bidder params

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Change placement of cpmoverride for Rubicon (#1310)

* increasing the stale period to 2 months (#1305)

* Add Go 1.14 Build Target (#1314)

* Privacy: Remove user.ext.eids (#1294)

* Privacy: Remove user.ext.eids

* Extract To A Method

* Minor Refactor + More Tests

* Performance Tweak

* Removed some redundant methods (#1320)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

* Removed some redundant methods.

* Removed a comment

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Beachfront: GDPR id (issue 1301) and documentation updates (#1321)

* Defined cookie sync URL in config, cleared deprecated comment in usersync

* Update beachfront.md

* editing documentation

* updated gdpr id - issue 1301

* Add Yieldlab Adapter (#1287)

Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Signed-off-by: Alex Klinkert <alex@klinkert.io>

Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>

* Update adtelligent ortb endpoint (#1318)

* Change on eplanning endpoint (#1327)

* Enable full TCF2 support (#1302)

* New config options

* Enble TCF2 fields and logic

* Resolves some PR comments

* More tests

* gofmt

* Added enforcement tests for split GDPR/GDPRGeo

* Testing tweaks

* No longer ignore enforce purpose 1 on allowSync()

* Removes Purpose 4

* Change on eplanning endpoint (hostname) (#1328)

* Districtm Dmx: new adapter  (#1209)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Fix sync url for Yieldone s2s Bid Adapter (#1336)

* Fix typo in Yieldone sync url

* CCPA Video Bug (#1333)

* Add Pubnative bidder documentation (#1340)

* Timeout notification monitoring and debugging (#1322)

* Add Adtarget server adapter (#1319)

* Add Adtarget server adapter

* Suggested changes for Adtarget

* Update Auction OpenRTB Sample (#1342)

* Update Auction OpenRTB Sample

* Removed Extra "Or"

* Triplelift: Add SRA Support (#1347)

* Privacy: Limit Ad Tracking (#1334)

* Avoid overriding AMP request original size with mutli-size (#1352)

* Extra logging for timeout notifications (#1349)

* Consumable: Correct bid type, should always be "banner". (#1359)

* Build With Go 1.14 (#1350)

* Category mapping changes from product team. (#1348)

* Adds Avocet adapter (#1354)

* AdOcean adapter - Support for sizes defined in prebid configuration. (#1339)

support for multiple sizes

bump version to 1.1.0

* Log account id and all bidder names when recovering from OpenRTB auction bidder… (#1358)

* Adding Smartadserver adapter (#1346)

Co-authored-by: tadam <tadam@smartadserver.com>

* Added additional Ext Param (#1357)

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Adman adapter (#1356)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* PBS-632 add max connections per host config setting to general http a… (#1366)

* Add ext.bidder.zoneid for Kubient adapater (#1367)

* Add ext.bidder.zoneid for Kubient adapater

* Check the number of Imps. zoneid is optional.

* Improved IPv6 Support + Private Network Filtering (#1362)

* Change endpont address (#1370)

* Adman adapter

* add adman line to syner test

* add tests

* fix issues

* fix web banner test

* add 404 banner

* fmt

* rase coverage

* del redundant files

* change endpont address

* change config endpoint

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Don't override test parameter (#1373)

* OpenX + Facebook Hardening (#1368)

* Updating Conversant endpoint url (#1376)

* Metrics for TCF 2 adoption (#1360)

* Fall back to constant rates when the currency rates endpoint i… (#1364)

* TheMediaGrid: added app type support (#1377)

* user.ext.eids support in adform adapter (#1381)

* Add Logicad adapter (#1382)

* Fix Previous Merge Conflict (#1392)

* Kubient: Change default endpont address (#1398)

* Add support for multiple root schain nodes (#1374)

* Update endpoint for latest release by districtm (#1401)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Set OpenRTB DNT From HTTP Header (#1397)

* Add video for InApp support (#1399)

* Timeout fix (#1390)

* Privacy Request Metrics (#1400)

* Privacy Request Metrics

* Fix Bug + Add Unit Tests

* Fixed Tests

* Fix Typo

* Parse Site.Publisher.ID from Amp Auction HTTP Req Query Parameter "account" (#1403)

* Facebook Only Supports App Impressions (#1396)

* fix: Change currency of ad-generation's bidResponse according to bidRequest (#1383)

* Adding primary categories to freewheel mapping (#1407)

* Add Outgoing Connection Metrics (#1343)

* Pubmatic: Support for video duration and primary category (#1384)

* Adding suport for video duration and primary category in pubmatic adapter

* Adding code review changes for PR-1384

* Adding changes for syntaxNode suggestion

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Add IPv6 Non-Public Network (#1417)

* GumGum: adds support for video (#1408)

* OpenX adapter: pass optional platform (PBID-598) (#1421)

* Adds keyvalue hb_format support (#1414)

* feat: Add new logger module - Pubstack Analytics Module (#1331)

* Pubstack Analytics V1 (#11)

* V1 Pubstack (#7)

* feat: Add Pubstack Logger (#6)

* first version of pubstack analytics

* bypass viperconfig

* commit #1

* gofmt

* update configuration and make the tests pass

* add readme on how to configure the adapter and update the network calls

* update logging and fix intake url definition

* feat: Pubstack Analytics Connector

* fixing go mod

* fix: bad behaviour on appending path to auction url

* add buffering

* support bootstyrap like configuration

* implement route for all the objects

* supports termination signal handling for goroutines

* move readme to the correct location

* wording

* enable configuration reload + add tests

* fix logs messages

* fix tests

* fix log line

* conclude merge

* merge

* update go mod

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix duplicated channel keys

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* first pass - PR reviews

* rename channel* -> eventChannel

* dead code

* Review (#10)

* use json.Decoder

* update documentation

* use nil instead []byte("")

* clean code

* do not use http.DefaultClient

* fix race condition (need validation)

* separate the sender and buffer logics

* refactor the default configuration

* remove error counter

* Review GP + AR

* updating default config

* add more logs

* remove alias fields in json

* fix json serializer

* close event channels

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix race condition

* first pass (pr reviews)

* refactor: store enabled modules into a dedicated struct

* stop goroutine

* test: improve coverage

* PR Review

* Revert "refactor: store enabled modules into a dedicated struct"

This reverts commit f57d9d61680c74244effc39a5d96d6cbb2f19f7d.

# Conflicts:
#	analytics/config/config_test.go

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* New bid adapter for Smaato (#1413)

Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>

* New Adprime adapter (#1418)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Separate "debug" behavior from "billable" behavior (#1387)

* Remove redundad struct (#1432)

* Tcf2 id support (#1420)

* Default TCF1 GVL in anticipation of IAB no longer hosting the v1 GVL (#1433)

* update to the latest go-gdpr release (#1436)

* Video endpoint bid selection enhancements (#1419)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* [WIP] Bid deduplication enhancement (#1430)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Refactor rate converter separating scheduler from converter logic to improve testability (#1394)

* Fix TCF1 Fetcher Fallback (#1438)

* Eplanning adapter: Get domain from page (#1434)

* Fix no bid debug log (#1375)

* Update the fallback GVL to last version (#1440)

* Enable geo activation of GDPR flag (#1427)

* Validate External Cache Host  (#1422)

* first draft

* Little tweaks

* Scott's review part 1

* Scott's review corrections part 2

* Scotts refactor

* correction in config_test.go

* Correction and refactor

* Multiple return statements

* Test case refactor

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Fixes bug (#1448)

* Fixes bug

* shortens list

* Added adpod_id to request extension (#1444)

* Added adpod_id to request -> ext -> appnexus and modified requests splitting based on pod

* Unit test fix

* Unit test fix

* Minor unit test fixes

* Code refactoring

* Minor code and unit tests refactoring

* Unit tests refactoring

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Adform adapter: additional targeting params added (#1424)

* Fix minor error message spelling mistake "vastml" -> "vastxml" (#1455)

* Fixing comment for usage of deal priority field (#1451)

* moving docs to website repo (#1443)

* Fix bid dedup (#1456)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* consumable: Correct width and height reported in response. (#1459)

Prebid Server now responds with the width and height specified in
the Bid Response from Consumable. Previously it would reuse the width
and height specified in the Bid Request. That older behaviour was
ported from an older version of the prebid.js adapter but is no longer
valid.

* Panics happen when left with zero length []Imp (#1462)

* Add Scheme Option To External Cache URL (#1460)

* Update gamma adapter (#1447)

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* Update gamma.go

* Update config.go

Remove Gamma User Sync Url from config

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* update gamma adapter

* return nil when have No-Bid Signaling

* add missing-adm.json

* discard the bid that's missing adm

* discard the bid that's missing adm

* escape vast instead of encoded it

* expand test coverage

Co-authored-by: Easy Life <ezlife.ga@gmail.com>

* fix: avoid unexpected EOF on gz writer (#1449)

* Smaato adapter: support for video mediaType (#1463)

Co-authored-by: vikram <vikram.chandel@smaato.com>

* Rubicon liveramp param (#1466)

Add liveramp mapping to user.ext

should translate the "liveramp.com" id from the "user.ext.eids" array to "user.ext.liveramp_idl" as follows:

```
{
  "user": {
    "ext": {
      "eids": [{
        "source": 'liveramp.com',
        "uids": [{
          "id": "T7JiRRvsRAmh88"
        }]
      }]
    }
  }
}
```

 to XAPI:
```
{
  "user": {
    "ext": {
      "liveramp_idl": "T7JiRRvsRAmh88"
    }
  }
}
```

* Consolidate StoredRequest configs, add validation for all data types (#1453)

* Fix Test TestEventChannel_OutputFormat (#1468)

* Add ability to randomly generate source.TID if empty and set publisher.ID to resolved account ID (#1439)

* Add support for Account configuration (PBID-727, #1395) (#1426)

* Minor changes to accounts test coverage (#1475)

* Brightroll adapter - adding config support (#1461)

* Refactor TCF 1/2 Vendor List Fetcher Tests (#1441)

* Add validation checker for PRs and merges with github actions (#1476)

* Cache refactor (#1431)

Reason: Cache has Fetcher-like functionality to handle both requests and
imps at a time. Internally, it still uses two caches configured and searched
separately, causing some code repetition. Reusing this code to cache
other objects like accounts is not easy.

Keeping the req/imp repetition in fetcher and out of cache allows for a
reusable simpler cache, preserving existing fetcher functionality.

Changes in this set:

Cache is now a simple generic id->RawMessage store
fetcherWithCache handles the separate req and imp caches
ComposedCache handles single caches - but it does not appear to be used
Removed cache overlap tests since they do not apply now
Slightly less code

* Pass Through First Party Context Data (#1479)

* Added new size 640x360 (Id: 198) (#1490)

* Refactor: move getAccount to accounts package (from openrtb2) (#1483)

* Fixed TCF2 Geo Only Enforcement (#1492)

* New colossus adapter [Clean branch] (#1495)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* New: InMobi Prebid Server Adapter (#1489)

* Adding InMobi adapter

* code review feedback, also explicitly working with Imp[0], as we don't support multiple impressions

* less tolerant bidder params due to sneaky 1.13 -> 1.14+ change

* Revert "Added new size 640x360 (Id: 198) (#1490)" (#1501)

This reverts commit fa23f5c226df99a9a4ef318100fdb7d84d3e40fa.

* CCPA Publisher No Sale Relationships (#1465)

* Fix Merge Conflict (#1502)

* Update conversant adapter for new prebid-server interface (#1484)

* Implement returnCreative (#1493)

* Working solution

* clean-up

* Test copy/paste error

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* ConnectAd S2S Adapter (#1505)

* between adapter (#1437)

Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>

* Invibes adapter (#1469)

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* Refactor postgres event producer so it will run either the full or de… (#1485)

* Refactor postgres event producer so it will run either the full or delta query periodically

* Minor cleanup, follow golang conventions, declare const slice, add test cases

* Remove comments

* Bidder Uniqueness Gatekeeping Test (#1506)

* ucfunnel adapter update end point (#1511)

* Refactor EEAC map to be more in line with the nonstandard publisher map (#1514)

* Added bunch of new sizes (#1516)

* New krushmedia bid adapter (#1504)

* Invibes: Generic domainId parameter (#1512)

* Smarty ads adapter (#1500)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>

* Add vscode remote container development files (#1481)

* First commit (#1510)

Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>

* Vtrack and event endpoints (#1467)

* Rework pubstack module tests to remove race conditions (#1522)

* Rework pubstack module tests to remove race conditions

* PR feedback

* Remove event count and add helper methods to assert events received on channel

* Updating smartadserver endpoint configuration. (#1531)

Co-authored-by: tadam <tadam@smartadserver.com>

* Add new size 500x1000 (ID: 548) (#1536)

* Fix missing Request parameter for Adgeneration Adapter (#1525)

* Fix endpoint url for TheMediaGrid Bid Adapter (#1541)

* Add Account cache (#1519)

* Add bidder name key support (#1496)

* Simplifying exchange module: bidResponseExt gets built anyway (#1518)

* first draft

* Scott's feedback

* stepping out real quick

* add cache errors to bidResponseExt before marshalling

* Removed vim's swp file

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Correct GetCpmStringValue's second return value (#1520)

* Add metrics to capture stored data fetch all/delta durations with fetch status (#1515)

* Adds preferDeals support (#1528)

* Emxd 3336 add app video ctv (#1529)

* Adapter changes for app and video support

* adding ctv devicetype test case

* Adding whitespace

* Updates based on feedback from Prebid team

* protocol bug fix and testing

* Modifying test cases to accomodate new imp.ext field

* bidtype bug fix and additonal testcase for storeUrl

Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>

* Add http api for fetching accounts (#1545)

* Add missing postgres cache init config validation

* Acuity ads adapter (#1537)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>

* Yieldmo app support in yaml file (#1542)

Co-authored-by: Winston <wiston@yieldmo.com>

* Add metrics for account cache (#1543)

* [Invibes] remove user sync for invibes (#1550)

* [invibes] new bidder stub

* [invibes] make request

* [invibes] bid request parameters

* [invibes] fix errors, add tests

* [invibes] new version of MakeBids

* cleaning code

* [invibes] production urls, isamp flag

* [invibes] fix parameters

* [invibes] new test parameter

* [invibes] change maintainer email

* [invibes] PR fixes

* [invibes] fix parameters test

* [invibes] refactor endpoint template and bidVersion

* [Invibes] fix tests

* [invibes] resolve PR

* [invibes] fix test

* [invibes] fix test

* [invibes] generic domainId parameter

* [invibes] remove invibes cookie sync

* [Invibes] comment missing Usersync

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* Add Support For imp.ext.prebid For DealTiers (#1539)

* Add Support For imp.ext.prebid For DealTiers

* Remove Normalization

* Add Accounts to http cache events (#1553)

* Fix JSON tests ignore expected message field (#1450)

* NoBid version 1.0. Initial commit. (#1547)

Co-authored-by: Reda Guermas <reda.guermas@nobid.io>

* Added dealTierSatisfied parameters in exchange.pbsOrtbBid and openrtb_ext.ExtBidPrebid and dealPriority in openrtb_ext.ExtBidPrebid  (#1558)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Add client/AccountID support into Adoppler adapter. (#1535)

* Optionally read IFA value and add it the the request url (Adhese) (#1563)

* Add AMX RTB adapter (#1549)

* update Datablocks usersync.go (#1572)

* 33Across: Add video support in adapter (#1557)

* SilverMob adapter (#1561)

* SilverMob adapter

* Fixes andchanges according to notes in PR

* Remaining fixes:
multibids, expectedMakeRequestsErrors

* removed log

* removed log

* Multi-bid test

* Removed unnesesary block

Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>

* Updated ePlanning GVL ID (#1574)

* update adpone google vendor id (#1577)

* ADtelligent gvlid (#1581)

* Add account/ host GDPR enabled flags & account per request type GDPR enabled flags (#1564)

* Add account level request type specific and general GDPR enabled flags

* Clean up test TestAccountLevelGDPREnabled

* Add host-level GDPR enabled flag

* Move account GDPR enable check as receiver method on accountGDPR

* Remove mapstructure annotations on account structs

* Minor test updates

* Re-add mapstructure annotations on account structs

* Change RequestType to IntegrationType and struct annotation formatting

* Update comment

* Update account IntegrationType comments

* Remove extra space in config/accounts.go via gofmt

* DMX Bidfloor fix (#1579)

* adform bidder video bid response support (#1573)

* Fix Beachfront JSON tests (#1578)

* Add account CCPA enabled and per-request-type enabled flags (#1566)

* Add account level request-type-specific and general CCPA enabled flags

* Remove mapstructure annotations on CCPA account structs and clean up CCPA tests

* Adjust account/host CCPA enabled flag logic to incorporate feedback on similar GDPR feature

* Add shared privacy policy account integration data structure

* Refactor EnabledForIntegrationType methods on account privacy objects

* Minor test refactor

* Simplify logic in EnabledForIntegrationType methods

* Refactored HoldAuction Arguments (#1570)

* Fix bug in request.imp.ext Validation (#1575)

* First draft

* Brian's reivew

* Removed leftover comments

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>

* Updating import statements for v0.138.0 upgrade

* UOE-5690: Fixing merging issues

* UOE-5690 Fixing merging issues

* prebid-server v0.138 upgrade: fixing merging issue

* Prebid-upgrade Fixing test cases

* Prebid-server upgrade: removing unwanted files

* Prebid upgrade: Fixing merging issue with ci

Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertixvost@gmail.com>
Co-authored-by: Steve Alliance <steve.alliance@gmail.com>
Co-authored-by: steve-a-districtm <steve@districtm.net>
Co-authored-by: Artur Aleksanyan <artur.aleksanyan89@gmail.com>
Co-authored-by: Brandon Ling <51931757+blingster7@users.noreply.github.com>
Co-authored-by: Richard Lee <14349+dlackty@users.noreply.github.com>
Co-authored-by: Simon Critchley <sicritchley@gmail.com>
Co-authored-by: Brian Sardo <1168933+bsardo@users.noreply.github.com>
Co-authored-by: tadam75 <adam.thomas@live.fr>
Co-authored-by: tadam <tadam@smartadserver.com>
Co-authored-by: SmartyAdman <59048845+SmartyAdman@users.noreply.github.com>
Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>
Co-authored-by: Marsel <marsel.taipov@kubient.com>
Co-authored-by: AaronColbyPrice <67345931+AaronColbyPrice@users.noreply.github.com>
Co-authored-by: Jurij Sinickij <jurij.sinickij@gmail.com>
Co-authored-by: logicad <ytsuchiya@so-netmedia.jp>
Co-authored-by: Daniel Barrigas <danielgbarrigas@gmail.com>
Co-authored-by: susyt <susan@fox.camp>
Co-authored-by: gpolaert <gpolaert@pubstack.io>
Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>
Co-authored-by: Vikram <vikramsinghchandel@users.noreply.github.com>
Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>
Co-authored-by: Adprime <64427228+Adprime@users.noreply.github.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>
Co-authored-by: Jurij Sinickij <jurij.sinickij@adform.com>
Co-authored-by: Rob Hazan <robhazan@gmail.com>
Co-authored-by: GammaSSP <35954362+gammassp@users.noreply.github.com>
Co-authored-by: Easy Life <ezlife.ga@gmail.com>
Co-authored-by: smithaammassamveettil <39389834+smithaammassamveettil@users.noreply.github.com>
Co-authored-by: hdeodhar <35999856+hdeodhar@users.noreply.github.com>
Co-authored-by: Bill Newman <huddled.masses1650@gmail.com>
Co-authored-by: Daniel Lawrence <Aether963@gmail.com>
Co-authored-by: rtuschkany <35923908+rtuschkany@users.noreply.github.com>
Co-authored-by: Alexey Elymanov <strangeqargo@gmail.com>
Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>
Co-authored-by: invibes <51820283+invibes@users.noreply.github.com>
Co-authored-by: aurel.vasile <vaurels@yahoo.com>
Co-authored-by: ucfunnel <39581136+ucfunnel@users.noreply.github.com>
Co-authored-by: Krushmedia <71434282+Krushmedia@users.noreply.github.com>
Co-authored-by: Kushneryk Pavel <levelup.kpi@gmail.com>
Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Dan Bogdan <43830380+EMXDigital@users.noreply.github.com>
Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>
Co-authored-by: AcuityAdsIntegrations <72594990+AcuityAdsIntegrations@users.noreply.github.com>
Co-authored-by: Winston <wiston@yieldmo.com>
Co-authored-by: redaguermas <redaguermas@gmail.com>
Co-authored-by: Reda Guermas <reda.guermas@nobid.io>
Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>
Co-authored-by: Nick Jacob <nickbjacob@gmail.com>
Co-authored-by: Aparna Rao <pr.aparna@gmail.com>
Co-authored-by: silvermob <73727464+silvermob@users.noreply.github.com>
Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>
Co-authored-by: Sergio <sergio.anru@gmail.com>
PubMatic-OpenWrap added a commit to PubMatic-OpenWrap/prebid-server that referenced this pull request Dec 23, 2020
* Adding copying of gdpr consent string to openrtb bid request (#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (#1208)

* openx adapter: forward bid response currency in openx adapter if set (#1211)

it was always set to the default USD before

* add ucfunnel adapter (#1192)

* Update required params for TheMediaGrid adapter (#1188)

* add zeroclickfraud adapter (#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (#1199)

* Add ValueImpression Adapter (#1204)

* Kidoz adapter (#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (#1224)

Fix type

* Update auction.md (#1225)

Fix typo.

* Added logging to cache for video endpoint (#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (#1232)

* treat 204 from FAN as a no bids response (#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (#1187)

* Update rubicon.md (#1234)

* adding schain interface (#1203)

* added Rewarded Video section (#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (#1250)

* replacing info@prebid.org maintainer email addrs (#1256)

* aligning maintainer info (#1258)

* Add kidoz bidder info (#1257)

got this info from email communication with kidoz

* Add Cropping of BAdv for Rubicon Adapter (#1254)

* Add Cropping of BAdv for Rubicon Adapter

BAdv size is limited to 50

* Fix after review

Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>

* Added metrics support to endpoint aspect (#1226)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Prebid Server adapter for Telaria (#1231)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* #615 Beachfront URLs from config (#1238)

* Add nil check errors when setting native asset types (#1260)

* Bugfix: no bids from bidder handling (#1252)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add missing categories to AppNexus -> IAB mapping file. (#1264)

* Add missing categories to AppNexus -> IAB mapping file.

* Remove entry for category 38 which was set to a primary IAB category instead of a sub-category.

* Fix order of category 22

* Yieldone s2s Bid Adapter (#1242)

* Added new Yieldone Bid s2s Adapter

* Update endpoint for yieldone bid adapter

* Fixes after review for Yieldone Bid s2s Adapter

* Fix typeo in Yieldone s2s Bid Adapter

* Fix: URL de sync (#1261)

* populate the app ID in the FAN timeout notif url with the publisher ID (#1265)

and the auction with the request ID

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* Added header User Agent decoding (#1268)

* Added header User Agent decoding

* Added header User Agent decoding: unit tests

* Added header User Agent decoding: unit tests

* Added check UA is encoded to avoid `+` converted to space

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Ad Generation Adapter Integration. (#1253)

* AdGeneration Integration.

* update AdGeneration adapter.
fix: some methods of the adgAdapter replace to functions.
fix: unmarshal functions return a pointer.
fix: header is defined once.
fix: return when imps is appended

* update AdGeneration Adapter.

add: Added a comment in usersync.
add: Added a test for parameters whose ID does not exist in params_test.
change: Change to query creation by net/url. Added getRawQuery Test.
fix: Changed variable names related to bidRequest.

* Fix Go 1.14 Error Message Changes (#1271)

* NinthDecimal Adapter (#1249)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* * Add PubMatic bidder doc file (#1255)

* Add app video capability to PubMatic bidder info file

* Appnexus adapter: Add category mapping for government. (#1278)

* Update a Freewheel mapping to Gaming category. (#1280)

* Add AJA adapter (#1269)

* OpenX adapter: Pass gdpr and gdpr_consent to user sync endpoint (#1282)

I've also updated the test to avoid any confusion.

* OpenX adapter: Enable video for app (#1281)

* fix conversant sync pixel (#1284)

* Add AdOcean adapter (#1273)

* [ADOCEAN-20132] AdOcean adapter

* [ADOCEAN-20132] AdOcean adapter - support for gdpr

* [ADOCEAN-20132] AdOcean adapter - tests

* [ADOCEAN-20132] AdOcean adapter - user sync

* [ADOCEAN-20132] AdOcean adapter - formatting

* [ADOCEAN-20132] AdOcean adapter - send uuid to emitter

* [ADOCEAN-20132] adocean adapter - return nil if there is no creative

* [ADOCEAN-20132] AdOcean adapter - add version parameter

* [ADOCEAN-20132] AdOcean adapter - optimization

* [ADOCEAN-20132] AdOcean adapter - add to syncer_test.go

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove whitespaces in js code on adapter initialization instead on every request
* check if request.Site is not nil
* reuse newUri variable

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* do not terminate the auction on a single faulty bid

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove unnecessary input parameters check
* small optimization

* LunaMedia Adapter (#1285)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* [Sharethrough] Add CCPA support (#1263)

* Handle gzip responses from ad server correctly

* Bump to version 8

* [Go Modules] Add proxy (#1079)

* Add SSL cert for accessing stored request API (#1087)

* [misspell] fix a misspell (#1102)

* update static bidder params for rubicon video to follow the json marshalling names (#1100)

* Switching yieldmo auction endpoint from http to https (#1103)

* Add Datablocks Adapter (#1095)

* datablocks bid adapter

* ttx

* add test json

* add coverage

* redo ttx

* formatted

* better error handling

* additional tests and recomended fixes

* Adding translatecategories flag to includebrandcategory (#1098)

* Making IAB category translation optional with translatecategories boolean in request

* Updating exchange unit tests to remove extra bids

* Updates from code review comments

* Removed comment about default TranslateCategories value
* Changed translateCat to translateCategories in tests
* Combined helper functions in exchange_test related to TranslateCategories

* Bid floor (#1085)

* Currency handling fix (#1097)

* facebook adapter refactor (#1064)

* Kubient adapter (#1094)

* [synacormedia] Update user sync url to be https (#1115)

This detail was missed while setting up the adapter, but we would like to use https for the user sync.

* Remove Go 1.11 Build Target (#1109)

* Set "Secure" on Same SIte cookies (#1119)

* TripleliftNative Adapter (#1114)

* ignore swp files

* start small

* start really small

* add a user sync

* justify

* triplelift adapter

* add our endpoint

* fix syntax

* config stuff

* compiler fixes

* more config

* add params

* making progress

* make our ext more exty

* start making responses

* more logic

* fix compilation errors

* can we just nil this out?

* augment our json

* radically simplify our json

* fix errs

* infer the bid type

* fix syntax

* fix comilation errors

* rename

* fix compilation error

* config stuff

* simplify params

* more config stuff

* fixes

* revert this

* fix up the extension

* getting closer

* add a test

* update config

* update bidder params

* add the floor here, too

* add a usersync test

* validation, ws, and a test

* update tests

* fix test

* update email

* why not

* change email

* preprocess requests

* do some parsing

* take care of some errors

* floor is optional

* ws

* remove native

* everything is either banner or video

* this should be a float

* floor to floor

* fix compilation errors

* add some tests

* more tests

* more tests

* simplify

* more progress

* format

* ws

* rm

* don't need this

* fix test

* fix test

* don't ignore swap

* change line back

* report an error if there are no valid impressions for triplelift

* check for either a Banner or Video object on the impression

* more tests

* mv

* more tests

* update triplelift end point

* send native

* ws

* start changing tests

* fix more tests

* update config

* add redirect to triplelift usersync

* fix supplier id in triplelift_test

* update tl usersync endpoint and test

* fix tl supplier id in test json

* update usersync test template

* adjust inconsistency with test and sync url

* mv

* update packages

* mv

* mv

* update

* fix compilation errors

* rename

* rename some stuff

* rename

* rename

* fix some compilation errors

* ws

* ws

* add the extra info

* add some extra info

* add some files back

* ws and such

* updates

* ws

* fix compilation error

* mv

* rename

* Revert "rename"

This reverts commit 1b77c72e1eeee580148540fbdd880e70bf699709.

* Revert "mv"

This reverts commit 52a134ddfaf531fe6235e4751935d4266a36e78f.

* it builds

* cp a file

* cp another file

* fix a test

* fix test

* add the extra info

* ws

* add some logic

* edit comment

* it compiles

* this is now public

* call this

* add the function

* return nil

* seems to be working

* ws

* seems to be working

* ws

* mv

* starting to work

* ws

* add a new function

* ws

* fix tests

* bug fix

* update some stuff

* revert

* take out prints

* fix up diff

* fix up diff

* update ws

* fix

* ws

* omit the triplelift endppint

* Revert "omit the triplelift endppint"

This reverts commit 7abc3e46f0fbba39041da6fff7bb2335adc1fece.

* populate the endpoint through the extinfo

* ws

* set disabled to be default

* ws

* update types

* fixing tests

* making progres

* fix tests

* fix tests

* more fixes for tests

* fixed tests

* just use a comment

* get rid of endpoint

* restore endpoint

* add some errors around unmarshalling

* ws

* ws

* use the literal

* ws

* ws

* update json

* simplify

* ws

* restore tests

* fail fast when grabbing invcode

* use the right type

* use a different error type

* bump code coverage

* add a new test

* change error type

* ws

* break out test into its own function

* JSON block that has a full data-center specific URL cache info (#1104)

* Update Dockerfile and Makefile  (#1099)

* Add option for running tests as part of the docker image building

* Update Makefile

- Add ability to execute adapter specific tests
- Execute targets for "all" rather than just printing the target name and usage
- Remove use of non-existing "install" target from .PHONY targets
- Remove "build" as a dependency for "image"

* enable app requests for audience network (#1122)

* [docs] fix markdown title (#1124)

* Prometheus Refactor (#1108)

* update default sync url (#1127)

* Update sync url for BidderGrid adapter (#1120)

* [SonarCloud] Legacy auction endpoint (#1017)

* [currency converter] allow to deduce reverse rate (#1126)

This CL allows the currency rate currency to deduce a currency rate even
if not directly defined in the table but the reverse rate is present.

E.q.

USD => EUR is 1.0897
EUR => USD is not set

Old behavior when asking rate from EUR to USD will not be found,
New behavior is using the known reverse rate to deduce the rate.

Rate for 2 USD will be 2 * (1 / 1.0897)

* Updated handleError arguments to be pointers for video endpoint (#1128)

* Updated handleError arguments to be pointers for video endpoint

* Removing unneeded pointer to http.ResponseWriter

* Adding units test for update to handleError

* Revert changes to GetExtCacheData() made in #1104 (#1130) (#1131)

* Better native request validation (#1132)

* require the caller to define native assets[...].ID (#1123)

* require the caller to define native assets[...].ID

* Update assets-with-partial-ids.json

* CCPA Phase 1: AMP Endpoint (#1125)

* facebook: removed Auth-Token from header (replaced by authentication_id in the request body) (#1113)

* Setuid Fix (#1121)

* Update http refresh to use url builder. Fixes #1065 (#1133)

* Add mapping of user.ext.eids[] for LiveIntent in Rubicon bidder (#1089)

* support facebook app_secret config param (#1139)

* CCPA Phase 1: Cookie Sync (#1135)

* null check banner.h (#1142)

* Add Pubnative Adapter (#1134)

* Adding the passing of CCPA value to the bid request for video endpoint (#1143)

* first draft (#1137)

* CCPA Phase 2: Enforcement (#1138)

* Gamoshi Adapter: Update cookie sync (#1146)

* Simplify static/bidder-params/triplelift_native.json (#1152)

* Added US Privacy support in TheMediaGrid server adapter (#1147)

* Add TheMediaGrid server adapter

* Add video support in TheMediaGrid s2s adapter

* Update sync url for TheMediaGrid s2s adapter

* Added CCPA support for TheMediaGrid s2s adapter

* Fix sync url for TheMediaGrid adapter

* CCPA User Sync Updates (#1153)

* Marsmedia - add new bidder (#1118)

* Add Applogy adapter (#1151)

* enforce video.size_id for video imps in rubicon adapter (#1101)

* Updated PubMatic endpoint to use https (#1155)

* Update Example AppNexus Placement ID (#1160)

* Fix Currency Converter Doesn't Output CUR (#1154)

* Add custom JSON req/resp data to the analytics logging… (#1145)

* Add custom JSON req/resp data to the analytics logging for the /openrtb2/video endpoint.

* Add calls in unit tests to cover logging and jsonify of video object.

* CCPA User Sync URL Updates (#1157)

* Fixes audienceNetwork adapter ignoring banner.format sizes. (#1164)

* adding yieldmo vendor id to usersync (#1166)

* Add SmartRTB adapter (#1071)

* Added new adapter for CPMStar ad network banners and video (#1159)

* Update the Conversant sync pixel (#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (#1170)

* [currencies] fix GetInfo() null ref issue (#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: #1136

* Fix triplelift User Sync (#1173)

* Enhance Message For Cache Errors (#1175)

* Fix PubMatic Usersync URL (#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (#1165)

* Remove all non-secure calls from eplanning adapter (#1179)

* Expose Cache HTTP Settings (#1184)

* Adding bid rejection messages to debug response (#1181)

* Adds timeout notifications for Facebook (#1182)

* VIS.X: added app type support (#1194)

* Add Adoppler bidder support. (#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (#1183)

* updating default hard-coded list of certs (#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (#1195)

* Adding copying of gdpr consent string to openrtb bid request (#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (#1208)

* openx adapter: forward bid response currency in openx adapter if set (#1211)

it was always set to the default USD before

* add ucfunnel adapter (#1192)

* Update required params for TheMediaGrid adapter (#1188)

* add zeroclickfraud adapter (#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (#1199)

* Add ValueImpression Adapter (#1204)

* Kidoz adapter (#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (#1224)

Fix type

* Update auction.md (#1225)

Fix typo.

* Added logging to cache for video endpoint (#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (#1232)

* treat 204 from FAN as a no bids response (#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (#1187)

* Update rubicon.md (#1234)

* adding schain interface (#1203)

* added Rewarded Video section (#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (#1250)

* Handle CCPA + enable gzip response

[#169984259]

* Addressing review (#273)

[#169984259]

* Remove custom gzip logic  (#280)

* Getting rid of custom gzip logic

[#169984259]

* Restore prod ad server url

[#169984259]

Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>

* Remove Outdated GDPR AMP Special Case (#1283)

* Stricter Privacy Scrubbing (#1286)

* Stricter Privacy Scrubbing

* Update Unit Test Style

* Fixed Whitespace

* Add Adapter Orbidder (#1275)

Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: rvolk <>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>

* Added OpenX Bidder adapter documentation (#1291)

* OpenX adapter: Pass rewarded video flag (#1290)

* Bugfix for missing fields in imp.video (#1297)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add cpmOverride (#1289)

* Add cpmOverride

Enabled `request.ext.rubicon.debug.cpmOverride` and `request.imp[].ext.rubicon.debug.cpmOverride` processing.
Updates tests

* Remove unnecessary error checks and add shallow copy

* Fixed same pointer

* Add Beintoo adapter (#1274)

* Add Beintoo adapter

* Yeahmobi adapter (#1279)

Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>

* advangelists: Vendor id update (#1307)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Consumable: Support GDPR and US Privacy consent (#1300)

* Restore the AMP privacy exception as an option. (#1311)

* Restore the AMP privacy exception as an option.

* Adds missing test case

* More PR feedback

* Remove unused constant

* Comment tweak

* consumable: Correct GDPR vendor ID to 591. (#1309)

fixes #1299.

* VIS.X: fix bid.ID, bid.CrID and set default currency value (#1296)

* Fix debug log error messages (#1270)

* Fixing missing error messages for debug logging

* Updated formatting of debug log message

* Updated unit tests for debug log to have test flag enabled

* Cleaned up debug log implementation

* Updates from review comments

* Cleaned up field and function names
* Added replacer for <> characters
* Added cache string unit test

* Moved regex from function to struct field

* Moved debug regex to endpoint deps

* Moving regex initialization to NewVideoEndpoint

* MobileFuse Adapter (#1303)

Co-authored-by: Dan Barnett <danb@mobilefuse.com>

* eplanning: Support for apps (#1306)

* Introduce Adhese adapter (#1292)

Co-authored-by: Mateusz <mateusz@adhese.eu>

* privacy: Potential JSON injection (#1304)

* Updating bidder params for Advangelists (#1316)

* Updating placement info on bidder params

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Change placement of cpmoverride for Rubicon (#1310)

* increasing the stale period to 2 months (#1305)

* Add Go 1.14 Build Target (#1314)

* Privacy: Remove user.ext.eids (#1294)

* Privacy: Remove user.ext.eids

* Extract To A Method

* Minor Refactor + More Tests

* Performance Tweak

* Removed some redundant methods (#1320)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

* Removed some redundant methods.

* Removed a comment

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Beachfront: GDPR id (issue 1301) and documentation updates (#1321)

* Defined cookie sync URL in config, cleared deprecated comment in usersync

* Update beachfront.md

* editing documentation

* updated gdpr id - issue 1301

* Add Yieldlab Adapter (#1287)

Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Signed-off-by: Alex Klinkert <alex@klinkert.io>

Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>

* Update adtelligent ortb endpoint (#1318)

* Change on eplanning endpoint (#1327)

* Enable full TCF2 support (#1302)

* New config options

* Enble TCF2 fields and logic

* Resolves some PR comments

* More tests

* gofmt

* Added enforcement tests for split GDPR/GDPRGeo

* Testing tweaks

* No longer ignore enforce purpose 1 on allowSync()

* Removes Purpose 4

* Change on eplanning endpoint (hostname) (#1328)

* Districtm Dmx: new adapter  (#1209)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Fix sync url for Yieldone s2s Bid Adapter (#1336)

* Fix typo in Yieldone sync url

* CCPA Video Bug (#1333)

* Add Pubnative bidder documentation (#1340)

* Timeout notification monitoring and debugging (#1322)

* Add Adtarget server adapter (#1319)

* Add Adtarget server adapter

* Suggested changes for Adtarget

* Update Auction OpenRTB Sample (#1342)

* Update Auction OpenRTB Sample

* Removed Extra "Or"

* Triplelift: Add SRA Support (#1347)

* Privacy: Limit Ad Tracking (#1334)

* Avoid overriding AMP request original size with mutli-size (#1352)

* Extra logging for timeout notifications (#1349)

* Consumable: Correct bid type, should always be "banner". (#1359)

* Build With Go 1.14 (#1350)

* Category mapping changes from product team. (#1348)

* Adds Avocet adapter (#1354)

* AdOcean adapter - Support for sizes defined in prebid configuration. (#1339)

support for multiple sizes

bump version to 1.1.0

* Log account id and all bidder names when recovering from OpenRTB auction bidder… (#1358)

* Adding Smartadserver adapter (#1346)

Co-authored-by: tadam <tadam@smartadserver.com>

* Added additional Ext Param (#1357)

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Adman adapter (#1356)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* PBS-632 add max connections per host config setting to general http a… (#1366)

* Add ext.bidder.zoneid for Kubient adapater (#1367)

* Add ext.bidder.zoneid for Kubient adapater

* Check the number of Imps. zoneid is optional.

* Improved IPv6 Support + Private Network Filtering (#1362)

* Change endpont address (#1370)

* Adman adapter

* add adman line to syner test

* add tests

* fix issues

* fix web banner test

* add 404 banner

* fmt

* rase coverage

* del redundant files

* change endpont address

* change config endpoint

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Don't override test parameter (#1373)

* OpenX + Facebook Hardening (#1368)

* Updating Conversant endpoint url (#1376)

* Metrics for TCF 2 adoption (#1360)

* Fall back to constant rates when the currency rates endpoint i… (#1364)

* TheMediaGrid: added app type support (#1377)

* user.ext.eids support in adform adapter (#1381)

* Add Logicad adapter (#1382)

* Fix Previous Merge Conflict (#1392)

* Kubient: Change default endpont address (#1398)

* Add support for multiple root schain nodes (#1374)

* Update endpoint for latest release by districtm (#1401)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Set OpenRTB DNT From HTTP Header (#1397)

* Add video for InApp support (#1399)

* Timeout fix (#1390)

* Privacy Request Metrics (#1400)

* Privacy Request Metrics

* Fix Bug + Add Unit Tests

* Fixed Tests

* Fix Typo

* Parse Site.Publisher.ID from Amp Auction HTTP Req Query Parameter "account" (#1403)

* Facebook Only Supports App Impressions (#1396)

* fix: Change currency of ad-generation's bidResponse according to bidRequest (#1383)

* Adding primary categories to freewheel mapping (#1407)

* Add Outgoing Connection Metrics (#1343)

* Pubmatic: Support for video duration and primary category (#1384)

* Adding suport for video duration and primary category in pubmatic adapter

* Adding code review changes for PR-1384

* Adding changes for syntaxNode suggestion

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Add IPv6 Non-Public Network (#1417)

* GumGum: adds support for video (#1408)

* OpenX adapter: pass optional platform (PBID-598) (#1421)

* Adds keyvalue hb_format support (#1414)

* feat: Add new logger module - Pubstack Analytics Module (#1331)

* Pubstack Analytics V1 (#11)

* V1 Pubstack (#7)

* feat: Add Pubstack Logger (#6)

* first version of pubstack analytics

* bypass viperconfig

* commit #1

* gofmt

* update configuration and make the tests pass

* add readme on how to configure the adapter and update the network calls

* update logging and fix intake url definition

* feat: Pubstack Analytics Connector

* fixing go mod

* fix: bad behaviour on appending path to auction url

* add buffering

* support bootstyrap like configuration

* implement route for all the objects

* supports termination signal handling for goroutines

* move readme to the correct location

* wording

* enable configuration reload + add tests

* fix logs messages

* fix tests

* fix log line

* conclude merge

* merge

* update go mod

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix duplicated channel keys

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* first pass - PR reviews

* rename channel* -> eventChannel

* dead code

* Review (#10)

* use json.Decoder

* update documentation

* use nil instead []byte("")

* clean code

* do not use http.DefaultClient

* fix race condition (need validation)

* separate the sender and buffer logics

* refactor the default configuration

* remove error counter

* Review GP + AR

* updating default config

* add more logs

* remove alias fields in json

* fix json serializer

* close event channels

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix race condition

* first pass (pr reviews)

* refactor: store enabled modules into a dedicated struct

* stop goroutine

* test: improve coverage

* PR Review

* Revert "refactor: store enabled modules into a dedicated struct"

This reverts commit f57d9d61680c74244effc39a5d96d6cbb2f19f7d.

# Conflicts:
#	analytics/config/config_test.go

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* New bid adapter for Smaato (#1413)

Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>

* New Adprime adapter (#1418)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Separate "debug" behavior from "billable" behavior (#1387)

* Remove redundad struct (#1432)

* Tcf2 id support (#1420)

* Default TCF1 GVL in anticipation of IAB no longer hosting the v1 GVL (#1433)

* update to the latest go-gdpr release (#1436)

* Video endpoint bid selection enhancements (#1419)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* [WIP] Bid deduplication enhancement (#1430)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Refactor rate converter separating scheduler from converter logic to improve testability (#1394)

* Fix TCF1 Fetcher Fallback (#1438)

* Eplanning adapter: Get domain from page (#1434)

* Fix no bid debug log (#1375)

* Update the fallback GVL to last version (#1440)

* Enable geo activation of GDPR flag (#1427)

* Validate External Cache Host  (#1422)

* first draft

* Little tweaks

* Scott's review part 1

* Scott's review corrections part 2

* Scotts refactor

* correction in config_test.go

* Correction and refactor

* Multiple return statements

* Test case refactor

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Fixes bug (#1448)

* Fixes bug

* shortens list

* Added adpod_id to request extension (#1444)

* Added adpod_id to request -> ext -> appnexus and modified requests splitting based on pod

* Unit test fix

* Unit test fix

* Minor unit test fixes

* Code refactoring

* Minor code and unit tests refactoring

* Unit tests refactoring

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Adform adapter: additional targeting params added (#1424)

* Fix minor error message spelling mistake "vastml" -> "vastxml" (#1455)

* Fixing comment for usage of deal priority field (#1451)

* moving docs to website repo (#1443)

* Fix bid dedup (#1456)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* consumable: Correct width and height reported in response. (#1459)

Prebid Server now responds with the width and height specified in
the Bid Response from Consumable. Previously it would reuse the width
and height specified in the Bid Request. That older behaviour was
ported from an older version of the prebid.js adapter but is no longer
valid.

* Panics happen when left with zero length []Imp (#1462)

* Add Scheme Option To External Cache URL (#1460)

* Update gamma adapter (#1447)

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* Update gamma.go

* Update config.go

Remove Gamma User Sync Url from config

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* update gamma adapter

* return nil when have No-Bid Signaling

* add missing-adm.json

* discard the bid that's missing adm

* discard the bid that's missing adm

* escape vast instead of encoded it

* expand test coverage

Co-authored-by: Easy Life <ezlife.ga@gmail.com>

* fix: avoid unexpected EOF on gz writer (#1449)

* Smaato adapter: support for video mediaType (#1463)

Co-authored-by: vikram <vikram.chandel@smaato.com>

* Rubicon liveramp param (#1466)

Add liveramp mapping to user.ext

should translate the "liveramp.com" id from the "user.ext.eids" array to "user.ext.liveramp_idl" as follows:

```
{
  "user": {
    "ext": {
      "eids": [{
        "source": 'liveramp.com',
        "uids": [{
          "id": "T7JiRRvsRAmh88"
        }]
      }]
    }
  }
}
```

 to XAPI:
```
{
  "user": {
    "ext": {
      "liveramp_idl": "T7JiRRvsRAmh88"
    }
  }
}
```

* Consolidate StoredRequest configs, add validation for all data types (#1453)

* Fix Test TestEventChannel_OutputFormat (#1468)

* Add ability to randomly generate source.TID if empty and set publisher.ID to resolved account ID (#1439)

* Add support for Account configuration (PBID-727, #1395) (#1426)

* Minor changes to accounts test coverage (#1475)

* Brightroll adapter - adding config support (#1461)

* Refactor TCF 1/2 Vendor List Fetcher Tests (#1441)

* Add validation checker for PRs and merges with github actions (#1476)

* Cache refactor (#1431)

Reason: Cache has Fetcher-like functionality to handle both requests and
imps at a time. Internally, it still uses two caches configured and searched
separately, causing some code repetition. Reusing this code to cache
other objects like accounts is not easy.

Keeping the req/imp repetition in fetcher and out of cache allows for a
reusable simpler cache, preserving existing fetcher functionality.

Changes in this set:

Cache is now a simple generic id->RawMessage store
fetcherWithCache handles the separate req and imp caches
ComposedCache handles single caches - but it does not appear to be used
Removed cache overlap tests since they do not apply now
Slightly less code

* Pass Through First Party Context Data (#1479)

* Added new size 640x360 (Id: 198) (#1490)

* Refactor: move getAccount to accounts package (from openrtb2) (#1483)

* Fixed TCF2 Geo Only Enforcement (#1492)

* New colossus adapter [Clean branch] (#1495)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* New: InMobi Prebid Server Adapter (#1489)

* Adding InMobi adapter

* code review feedback, also explicitly working with Imp[0], as we don't support multiple impressions

* less tolerant bidder params due to sneaky 1.13 -> 1.14+ change

* Revert "Added new size 640x360 (Id: 198) (#1490)" (#1501)

This reverts commit fa23f5c226df99a9a4ef318100fdb7d84d3e40fa.

* CCPA Publisher No Sale Relationships (#1465)

* Fix Merge Conflict (#1502)

* Update conversant adapter for new prebid-server interface (#1484)

* Implement returnCreative (#1493)

* Working solution

* clean-up

* Test copy/paste error

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* ConnectAd S2S Adapter (#1505)

* between adapter (#1437)

Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>

* Invibes adapter (#1469)

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* Refactor postgres event producer so it will run either the full or de… (#1485)

* Refactor postgres event producer so it will run either the full or delta query periodically

* Minor cleanup, follow golang conventions, declare const slice, add test cases

* Remove comments

* Bidder Uniqueness Gatekeeping Test (#1506)

* ucfunnel adapter update end point (#1511)

* Refactor EEAC map to be more in line with the nonstandard publisher map (#1514)

* Added bunch of new sizes (#1516)

* New krushmedia bid adapter (#1504)

* Invibes: Generic domainId parameter (#1512)

* Smarty ads adapter (#1500)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>

* Add vscode remote container development files (#1481)

* First commit (#1510)

Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>

* Vtrack and event endpoints (#1467)

* Rework pubstack module tests to remove race conditions (#1522)

* Rework pubstack module tests to remove race conditions

* PR feedback

* Remove event count and add helper methods to assert events received on channel

* Updating smartadserver endpoint configuration. (#1531)

Co-authored-by: tadam <tadam@smartadserver.com>

* Add new size 500x1000 (ID: 548) (#1536)

* Fix missing Request parameter for Adgeneration Adapter (#1525)

* Fix endpoint url for TheMediaGrid Bid Adapter (#1541)

* Add Account cache (#1519)

* Add bidder name key support (#1496)

* Simplifying exchange module: bidResponseExt gets built anyway (#1518)

* first draft

* Scott's feedback

* stepping out real quick

* add cache errors to bidResponseExt before marshalling

* Removed vim's swp file

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Correct GetCpmStringValue's second return value (#1520)

* Add metrics to capture stored data fetch all/delta durations with fetch status (#1515)

* Adds preferDeals support (#1528)

* Emxd 3336 add app video ctv (#1529)

* Adapter changes for app and video support

* adding ctv devicetype test case

* Adding whitespace

* Updates based on feedback from Prebid team

* protocol bug fix and testing

* Modifying test cases to accomodate new imp.ext field

* bidtype bug fix and additonal testcase for storeUrl

Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>

* Add http api for fetching accounts (#1545)

* Add missing postgres cache init config validation

* Acuity ads adapter (#1537)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>

* Yieldmo app support in yaml file (#1542)

Co-authored-by: Winston <wiston@yieldmo.com>

* Add metrics for account cache (#1543)

* [Invibes] remove user sync for invibes (#1550)

* [invibes] new bidder stub

* [invibes] make request

* [invibes] bid request parameters

* [invibes] fix errors, add tests

* [invibes] new version of MakeBids

* cleaning code

* [invibes] production urls, isamp flag

* [invibes] fix parameters

* [invibes] new test parameter

* [invibes] change maintainer email

* [invibes] PR fixes

* [invibes] fix parameters test

* [invibes] refactor endpoint template and bidVersion

* [Invibes] fix tests

* [invibes] resolve PR

* [invibes] fix test

* [invibes] fix test

* [invibes] generic domainId parameter

* [invibes] remove invibes cookie sync

* [Invibes] comment missing Usersync

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* Add Support For imp.ext.prebid For DealTiers (#1539)

* Add Support For imp.ext.prebid For DealTiers

* Remove Normalization

* Add Accounts to http cache events (#1553)

* Fix JSON tests ignore expected message field (#1450)

* NoBid version 1.0. Initial commit. (#1547)

Co-authored-by: Reda Guermas <reda.guermas@nobid.io>

* Added dealTierSatisfied parameters in exchange.pbsOrtbBid and openrtb_ext.ExtBidPrebid and dealPriority in openrtb_ext.ExtBidPrebid  (#1558)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Add client/AccountID support into Adoppler adapter. (#1535)

* Optionally read IFA value and add it the the request url (Adhese) (#1563)

* Add AMX RTB adapter (#1549)

* update Datablocks usersync.go (#1572)

* 33Across: Add video support in adapter (#1557)

* SilverMob adapter (#1561)

* SilverMob adapter

* Fixes andchanges according to notes in PR

* Remaining fixes:
multibids, expectedMakeRequestsErrors

* removed log

* removed log

* Multi-bid test

* Removed unnesesary block

Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>

* Updated ePlanning GVL ID (#1574)

* update adpone google vendor id (#1577)

* ADtelligent gvlid (#1581)

* Add account/ host GDPR enabled flags & account per request type GDPR enabled flags (#1564)

* Add account level request type specific and general GDPR enabled flags

* Clean up test TestAccountLevelGDPREnabled

* Add host-level GDPR enabled flag

* Move account GDPR enable check as receiver method on accountGDPR

* Remove mapstructure annotations on account structs

* Minor test updates

* Re-add mapstructure annotations on account structs

* Change RequestType to IntegrationType and struct annotation formatting

* Update comment

* Update account IntegrationType comments

* Remove extra space in config/accounts.go via gofmt

* DMX Bidfloor fix (#1579)

* adform bidder video bid response support (#1573)

* Fix Beachfront JSON tests (#1578)

* Add account CCPA enabled and per-request-type enabled flags (#1566)

* Add account level request-type-specific and general CCPA enabled flags

* Remove mapstructure annotations on CCPA account structs and clean up CCPA tests

* Adjust account/host CCPA enabled flag logic to incorporate feedback on similar GDPR feature

* Add shared privacy policy account integration data structure

* Refactor EnabledForIntegrationType methods on account privacy objects

* Minor test refactor

* Simplify logic in EnabledForIntegrationType methods

* Refactored HoldAuction Arguments (#1570)

* Fix bug in request.imp.ext Validation (#1575)

* First draft

* Brian's reivew

* Removed leftover comments

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>

* Updating import statements for v0.138.0 upgrade

* UOE-5690: Fixing merging issues

* UOE-5690 Fixing merging issues

* prebid-server v0.138 upgrade: fixing merging issue

* Prebid-upgrade Fixing test cases

* Prebid-server upgrade: removing unwanted files

* Prebid upgrade: Fixing merging issue with ci

* prebid-server upgrade: Fixing formating issues

Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertixvost@gmail.com>
Co-authored-by: Steve Alliance <steve.alliance@gmail.com>
Co-authored-by: steve-a-districtm <steve@districtm.net>
Co-authored-by: Artur Aleksanyan <artur.aleksanyan89@gmail.com>
Co-authored-by: Brandon Ling <51931757+blingster7@users.noreply.github.com>
Co-authored-by: Richard Lee <14349+dlackty@users.noreply.github.com>
Co-authored-by: Simon Critchley <sicritchley@gmail.com>
Co-authored-by: Brian Sardo <1168933+bsardo@users.noreply.github.com>
Co-authored-by: tadam75 <adam.thomas@live.fr>
Co-authored-by: tadam <tadam@smartadserver.com>
Co-authored-by: SmartyAdman <59048845+SmartyAdman@users.noreply.github.com>
Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>
Co-authored-by: Marsel <marsel.taipov@kubient.com>
Co-authored-by: AaronColbyPrice <67345931+AaronColbyPrice@users.noreply.github.com>
Co-authored-by: Jurij Sinickij <jurij.sinickij@gmail.com>
Co-authored-by: logicad <ytsuchiya@so-netmedia.jp>
Co-authored-by: Daniel Barrigas <danielgbarrigas@gmail.com>
Co-authored-by: susyt <susan@fox.camp>
Co-authored-by: gpolaert <gpolaert@pubstack.io>
Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>
Co-authored-by: Vikram <vikramsinghchandel@users.noreply.github.com>
Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>
Co-authored-by: Adprime <64427228+Adprime@users.noreply.github.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>
Co-authored-by: Jurij Sinickij <jurij.sinickij@adform.com>
Co-authored-by: Rob Hazan <robhazan@gmail.com>
Co-authored-by: GammaSSP <35954362+gammassp@users.noreply.github.com>
Co-authored-by: Easy Life <ezlife.ga@gmail.com>
Co-authored-by: smithaammassamveettil <39389834+smithaammassamveettil@users.noreply.github.com>
Co-authored-by: hdeodhar <35999856+hdeodhar@users.noreply.github.com>
Co-authored-by: Bill Newman <huddled.masses1650@gmail.com>
Co-authored-by: Daniel Lawrence <Aether963@gmail.com>
Co-authored-by: rtuschkany <35923908+rtuschkany@users.noreply.github.com>
Co-authored-by: Alexey Elymanov <strangeqargo@gmail.com>
Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>
Co-authored-by: invibes <51820283+invibes@users.noreply.github.com>
Co-authored-by: aurel.vasile <vaurels@yahoo.com>
Co-authored-by: ucfunnel <39581136+ucfunnel@users.noreply.github.com>
Co-authored-by: Krushmedia <71434282+Krushmedia@users.noreply.github.com>
Co-authored-by: Kushneryk Pavel <levelup.kpi@gmail.com>
Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Dan Bogdan <43830380+EMXDigital@users.noreply.github.com>
Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>
Co-authored-by: AcuityAdsIntegrations <72594990+AcuityAdsIntegrations@users.noreply.github.com>
Co-authored-by: Winston <wiston@yieldmo.com>
Co-authored-by: redaguermas <redaguermas@gmail.com>
Co-authored-by: Reda Guermas <reda.guermas@nobid.io>
Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>
Co-authored-by: Nick Jacob <nickbjacob@gmail.com>
Co-authored-by: Aparna Rao <pr.aparna@gmail.com>
Co-authored-by: silvermob <73727464+silvermob@users.noreply.github.com>
Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>
Co-authored-by: Sergio <sergio.anru@gmail.com>
PubMatic-OpenWrap added a commit to PubMatic-OpenWrap/prebid-server that referenced this pull request Jan 12, 2021
* replacing info@prebid.org maintainer email addrs (#1256)

* aligning maintainer info (#1258)

* Add kidoz bidder info (#1257)

got this info from email communication with kidoz

* Add Cropping of BAdv for Rubicon Adapter (#1254)

* Add Cropping of BAdv for Rubicon Adapter

BAdv size is limited to 50

* Fix after review

Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>

* Added metrics support to endpoint aspect (#1226)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Prebid Server adapter for Telaria (#1231)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* #615 Beachfront URLs from config (#1238)

* Add nil check errors when setting native asset types (#1260)

* Bugfix: no bids from bidder handling (#1252)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add missing categories to AppNexus -> IAB mapping file. (#1264)

* Add missing categories to AppNexus -> IAB mapping file.

* Remove entry for category 38 which was set to a primary IAB category instead of a sub-category.

* Fix order of category 22

* Yieldone s2s Bid Adapter (#1242)

* Added new Yieldone Bid s2s Adapter

* Update endpoint for yieldone bid adapter

* Fixes after review for Yieldone Bid s2s Adapter

* Fix typeo in Yieldone s2s Bid Adapter

* Fix: URL de sync (#1261)

* populate the app ID in the FAN timeout notif url with the publisher ID (#1265)

and the auction with the request ID

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* Added header User Agent decoding (#1268)

* Added header User Agent decoding

* Added header User Agent decoding: unit tests

* Added header User Agent decoding: unit tests

* Added check UA is encoded to avoid `+` converted to space

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Ad Generation Adapter Integration. (#1253)

* AdGeneration Integration.

* update AdGeneration adapter.
fix: some methods of the adgAdapter replace to functions.
fix: unmarshal functions return a pointer.
fix: header is defined once.
fix: return when imps is appended

* update AdGeneration Adapter.

add: Added a comment in usersync.
add: Added a test for parameters whose ID does not exist in params_test.
change: Change to query creation by net/url. Added getRawQuery Test.
fix: Changed variable names related to bidRequest.

* Fix Go 1.14 Error Message Changes (#1271)

* NinthDecimal Adapter (#1249)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* * Add PubMatic bidder doc file (#1255)

* Add app video capability to PubMatic bidder info file

* Appnexus adapter: Add category mapping for government. (#1278)

* Update a Freewheel mapping to Gaming category. (#1280)

* Add AJA adapter (#1269)

* OpenX adapter: Pass gdpr and gdpr_consent to user sync endpoint (#1282)

I've also updated the test to avoid any confusion.

* OpenX adapter: Enable video for app (#1281)

* fix conversant sync pixel (#1284)

* Add AdOcean adapter (#1273)

* [ADOCEAN-20132] AdOcean adapter

* [ADOCEAN-20132] AdOcean adapter - support for gdpr

* [ADOCEAN-20132] AdOcean adapter - tests

* [ADOCEAN-20132] AdOcean adapter - user sync

* [ADOCEAN-20132] AdOcean adapter - formatting

* [ADOCEAN-20132] AdOcean adapter - send uuid to emitter

* [ADOCEAN-20132] adocean adapter - return nil if there is no creative

* [ADOCEAN-20132] AdOcean adapter - add version parameter

* [ADOCEAN-20132] AdOcean adapter - optimization

* [ADOCEAN-20132] AdOcean adapter - add to syncer_test.go

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove whitespaces in js code on adapter initialization instead on every request
* check if request.Site is not nil
* reuse newUri variable

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* do not terminate the auction on a single faulty bid

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove unnecessary input parameters check
* small optimization

* LunaMedia Adapter (#1285)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* [Sharethrough] Add CCPA support (#1263)

* Handle gzip responses from ad server correctly

* Bump to version 8

* [Go Modules] Add proxy (#1079)

* Add SSL cert for accessing stored request API (#1087)

* [misspell] fix a misspell (#1102)

* update static bidder params for rubicon video to follow the json marshalling names (#1100)

* Switching yieldmo auction endpoint from http to https (#1103)

* Add Datablocks Adapter (#1095)

* datablocks bid adapter

* ttx

* add test json

* add coverage

* redo ttx

* formatted

* better error handling

* additional tests and recomended fixes

* Adding translatecategories flag to includebrandcategory (#1098)

* Making IAB category translation optional with translatecategories boolean in request

* Updating exchange unit tests to remove extra bids

* Updates from code review comments

* Removed comment about default TranslateCategories value
* Changed translateCat to translateCategories in tests
* Combined helper functions in exchange_test related to TranslateCategories

* Bid floor (#1085)

* Currency handling fix (#1097)

* facebook adapter refactor (#1064)

* Kubient adapter (#1094)

* [synacormedia] Update user sync url to be https (#1115)

This detail was missed while setting up the adapter, but we would like to use https for the user sync.

* Remove Go 1.11 Build Target (#1109)

* Set "Secure" on Same SIte cookies (#1119)

* TripleliftNative Adapter (#1114)

* ignore swp files

* start small

* start really small

* add a user sync

* justify

* triplelift adapter

* add our endpoint

* fix syntax

* config stuff

* compiler fixes

* more config

* add params

* making progress

* make our ext more exty

* start making responses

* more logic

* fix compilation errors

* can we just nil this out?

* augment our json

* radically simplify our json

* fix errs

* infer the bid type

* fix syntax

* fix comilation errors

* rename

* fix compilation error

* config stuff

* simplify params

* more config stuff

* fixes

* revert this

* fix up the extension

* getting closer

* add a test

* update config

* update bidder params

* add the floor here, too

* add a usersync test

* validation, ws, and a test

* update tests

* fix test

* update email

* why not

* change email

* preprocess requests

* do some parsing

* take care of some errors

* floor is optional

* ws

* remove native

* everything is either banner or video

* this should be a float

* floor to floor

* fix compilation errors

* add some tests

* more tests

* more tests

* simplify

* more progress

* format

* ws

* rm

* don't need this

* fix test

* fix test

* don't ignore swap

* change line back

* report an error if there are no valid impressions for triplelift

* check for either a Banner or Video object on the impression

* more tests

* mv

* more tests

* update triplelift end point

* send native

* ws

* start changing tests

* fix more tests

* update config

* add redirect to triplelift usersync

* fix supplier id in triplelift_test

* update tl usersync endpoint and test

* fix tl supplier id in test json

* update usersync test template

* adjust inconsistency with test and sync url

* mv

* update packages

* mv

* mv

* update

* fix compilation errors

* rename

* rename some stuff

* rename

* rename

* fix some compilation errors

* ws

* ws

* add the extra info

* add some extra info

* add some files back

* ws and such

* updates

* ws

* fix compilation error

* mv

* rename

* Revert "rename"

This reverts commit 1b77c72e1eeee580148540fbdd880e70bf699709.

* Revert "mv"

This reverts commit 52a134ddfaf531fe6235e4751935d4266a36e78f.

* it builds

* cp a file

* cp another file

* fix a test

* fix test

* add the extra info

* ws

* add some logic

* edit comment

* it compiles

* this is now public

* call this

* add the function

* return nil

* seems to be working

* ws

* seems to be working

* ws

* mv

* starting to work

* ws

* add a new function

* ws

* fix tests

* bug fix

* update some stuff

* revert

* take out prints

* fix up diff

* fix up diff

* update ws

* fix

* ws

* omit the triplelift endppint

* Revert "omit the triplelift endppint"

This reverts commit 7abc3e46f0fbba39041da6fff7bb2335adc1fece.

* populate the endpoint through the extinfo

* ws

* set disabled to be default

* ws

* update types

* fixing tests

* making progres

* fix tests

* fix tests

* more fixes for tests

* fixed tests

* just use a comment

* get rid of endpoint

* restore endpoint

* add some errors around unmarshalling

* ws

* ws

* use the literal

* ws

* ws

* update json

* simplify

* ws

* restore tests

* fail fast when grabbing invcode

* use the right type

* use a different error type

* bump code coverage

* add a new test

* change error type

* ws

* break out test into its own function

* JSON block that has a full data-center specific URL cache info (#1104)

* Update Dockerfile and Makefile  (#1099)

* Add option for running tests as part of the docker image building

* Update Makefile

- Add ability to execute adapter specific tests
- Execute targets for "all" rather than just printing the target name and usage
- Remove use of non-existing "install" target from .PHONY targets
- Remove "build" as a dependency for "image"

* enable app requests for audience network (#1122)

* [docs] fix markdown title (#1124)

* Prometheus Refactor (#1108)

* update default sync url (#1127)

* Update sync url for BidderGrid adapter (#1120)

* [SonarCloud] Legacy auction endpoint (#1017)

* [currency converter] allow to deduce reverse rate (#1126)

This CL allows the currency rate currency to deduce a currency rate even
if not directly defined in the table but the reverse rate is present.

E.q.

USD => EUR is 1.0897
EUR => USD is not set

Old behavior when asking rate from EUR to USD will not be found,
New behavior is using the known reverse rate to deduce the rate.

Rate for 2 USD will be 2 * (1 / 1.0897)

* Updated handleError arguments to be pointers for video endpoint (#1128)

* Updated handleError arguments to be pointers for video endpoint

* Removing unneeded pointer to http.ResponseWriter

* Adding units test for update to handleError

* Revert changes to GetExtCacheData() made in #1104 (#1130) (#1131)

* Better native request validation (#1132)

* require the caller to define native assets[...].ID (#1123)

* require the caller to define native assets[...].ID

* Update assets-with-partial-ids.json

* CCPA Phase 1: AMP Endpoint (#1125)

* facebook: removed Auth-Token from header (replaced by authentication_id in the request body) (#1113)

* Setuid Fix (#1121)

* Update http refresh to use url builder. Fixes #1065 (#1133)

* Add mapping of user.ext.eids[] for LiveIntent in Rubicon bidder (#1089)

* support facebook app_secret config param (#1139)

* CCPA Phase 1: Cookie Sync (#1135)

* null check banner.h (#1142)

* Add Pubnative Adapter (#1134)

* Adding the passing of CCPA value to the bid request for video endpoint (#1143)

* first draft (#1137)

* CCPA Phase 2: Enforcement (#1138)

* Gamoshi Adapter: Update cookie sync (#1146)

* Simplify static/bidder-params/triplelift_native.json (#1152)

* Added US Privacy support in TheMediaGrid server adapter (#1147)

* Add TheMediaGrid server adapter

* Add video support in TheMediaGrid s2s adapter

* Update sync url for TheMediaGrid s2s adapter

* Added CCPA support for TheMediaGrid s2s adapter

* Fix sync url for TheMediaGrid adapter

* CCPA User Sync Updates (#1153)

* Marsmedia - add new bidder (#1118)

* Add Applogy adapter (#1151)

* enforce video.size_id for video imps in rubicon adapter (#1101)

* Updated PubMatic endpoint to use https (#1155)

* Update Example AppNexus Placement ID (#1160)

* Fix Currency Converter Doesn't Output CUR (#1154)

* Add custom JSON req/resp data to the analytics logging… (#1145)

* Add custom JSON req/resp data to the analytics logging for the /openrtb2/video endpoint.

* Add calls in unit tests to cover logging and jsonify of video object.

* CCPA User Sync URL Updates (#1157)

* Fixes audienceNetwork adapter ignoring banner.format sizes. (#1164)

* adding yieldmo vendor id to usersync (#1166)

* Add SmartRTB adapter (#1071)

* Added new adapter for CPMStar ad network banners and video (#1159)

* Update the Conversant sync pixel (#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (#1170)

* [currencies] fix GetInfo() null ref issue (#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: #1136

* Fix triplelift User Sync (#1173)

* Enhance Message For Cache Errors (#1175)

* Fix PubMatic Usersync URL (#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (#1165)

* Remove all non-secure calls from eplanning adapter (#1179)

* Expose Cache HTTP Settings (#1184)

* Adding bid rejection messages to debug response (#1181)

* Adds timeout notifications for Facebook (#1182)

* VIS.X: added app type support (#1194)

* Add Adoppler bidder support. (#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (#1183)

* updating default hard-coded list of certs (#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (#1195)

* Adding copying of gdpr consent string to openrtb bid request (#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (#1208)

* openx adapter: forward bid response currency in openx adapter if set (#1211)

it was always set to the default USD before

* add ucfunnel adapter (#1192)

* Update required params for TheMediaGrid adapter (#1188)

* add zeroclickfraud adapter (#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (#1199)

* Add ValueImpression Adapter (#1204)

* Kidoz adapter (#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (#1224)

Fix type

* Update auction.md (#1225)

Fix typo.

* Added logging to cache for video endpoint (#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (#1232)

* treat 204 from FAN as a no bids response (#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (#1187)

* Update rubicon.md (#1234)

* adding schain interface (#1203)

* added Rewarded Video section (#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (#1250)

* Handle CCPA + enable gzip response

[#169984259]

* Addressing review (#273)

[#169984259]

* Remove custom gzip logic  (#280)

* Getting rid of custom gzip logic

[#169984259]

* Restore prod ad server url

[#169984259]

Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>

* Remove Outdated GDPR AMP Special Case (#1283)

* Stricter Privacy Scrubbing (#1286)

* Stricter Privacy Scrubbing

* Update Unit Test Style

* Fixed Whitespace

* Add Adapter Orbidder (#1275)

Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: rvolk <>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>

* Added OpenX Bidder adapter documentation (#1291)

* OpenX adapter: Pass rewarded video flag (#1290)

* Bugfix for missing fields in imp.video (#1297)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add cpmOverride (#1289)

* Add cpmOverride

Enabled `request.ext.rubicon.debug.cpmOverride` and `request.imp[].ext.rubicon.debug.cpmOverride` processing.
Updates tests

* Remove unnecessary error checks and add shallow copy

* Fixed same pointer

* Add Beintoo adapter (#1274)

* Add Beintoo adapter

* Yeahmobi adapter (#1279)

Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>

* advangelists: Vendor id update (#1307)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Consumable: Support GDPR and US Privacy consent (#1300)

* Restore the AMP privacy exception as an option. (#1311)

* Restore the AMP privacy exception as an option.

* Adds missing test case

* More PR feedback

* Remove unused constant

* Comment tweak

* consumable: Correct GDPR vendor ID to 591. (#1309)

fixes #1299.

* VIS.X: fix bid.ID, bid.CrID and set default currency value (#1296)

* Fix debug log error messages (#1270)

* Fixing missing error messages for debug logging

* Updated formatting of debug log message

* Updated unit tests for debug log to have test flag enabled

* Cleaned up debug log implementation

* Updates from review comments

* Cleaned up field and function names
* Added replacer for <> characters
* Added cache string unit test

* Moved regex from function to struct field

* Moved debug regex to endpoint deps

* Moving regex initialization to NewVideoEndpoint

* MobileFuse Adapter (#1303)

Co-authored-by: Dan Barnett <danb@mobilefuse.com>

* eplanning: Support for apps (#1306)

* Introduce Adhese adapter (#1292)

Co-authored-by: Mateusz <mateusz@adhese.eu>

* privacy: Potential JSON injection (#1304)

* Updating bidder params for Advangelists (#1316)

* Updating placement info on bidder params

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Change placement of cpmoverride for Rubicon (#1310)

* increasing the stale period to 2 months (#1305)

* Add Go 1.14 Build Target (#1314)

* Privacy: Remove user.ext.eids (#1294)

* Privacy: Remove user.ext.eids

* Extract To A Method

* Minor Refactor + More Tests

* Performance Tweak

* Removed some redundant methods (#1320)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

* Removed some redundant methods.

* Removed a comment

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Beachfront: GDPR id (issue 1301) and documentation updates (#1321)

* Defined cookie sync URL in config, cleared deprecated comment in usersync

* Update beachfront.md

* editing documentation

* updated gdpr id - issue 1301

* Add Yieldlab Adapter (#1287)

Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Signed-off-by: Alex Klinkert <alex@klinkert.io>

Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>

* Update adtelligent ortb endpoint (#1318)

* Change on eplanning endpoint (#1327)

* Enable full TCF2 support (#1302)

* New config options

* Enble TCF2 fields and logic

* Resolves some PR comments

* More tests

* gofmt

* Added enforcement tests for split GDPR/GDPRGeo

* Testing tweaks

* No longer ignore enforce purpose 1 on allowSync()

* Removes Purpose 4

* Change on eplanning endpoint (hostname) (#1328)

* Districtm Dmx: new adapter  (#1209)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Fix sync url for Yieldone s2s Bid Adapter (#1336)

* Fix typo in Yieldone sync url

* CCPA Video Bug (#1333)

* Add Pubnative bidder documentation (#1340)

* Timeout notification monitoring and debugging (#1322)

* Add Adtarget server adapter (#1319)

* Add Adtarget server adapter

* Suggested changes for Adtarget

* Update Auction OpenRTB Sample (#1342)

* Update Auction OpenRTB Sample

* Removed Extra "Or"

* Triplelift: Add SRA Support (#1347)

* Privacy: Limit Ad Tracking (#1334)

* Avoid overriding AMP request original size with mutli-size (#1352)

* Extra logging for timeout notifications (#1349)

* Consumable: Correct bid type, should always be "banner". (#1359)

* Build With Go 1.14 (#1350)

* Category mapping changes from product team. (#1348)

* Adds Avocet adapter (#1354)

* AdOcean adapter - Support for sizes defined in prebid configuration. (#1339)

support for multiple sizes

bump version to 1.1.0

* Log account id and all bidder names when recovering from OpenRTB auction bidder… (#1358)

* Adding Smartadserver adapter (#1346)

Co-authored-by: tadam <tadam@smartadserver.com>

* Added additional Ext Param (#1357)

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Adman adapter (#1356)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* PBS-632 add max connections per host config setting to general http a… (#1366)

* Add ext.bidder.zoneid for Kubient adapater (#1367)

* Add ext.bidder.zoneid for Kubient adapater

* Check the number of Imps. zoneid is optional.

* Improved IPv6 Support + Private Network Filtering (#1362)

* Change endpont address (#1370)

* Adman adapter

* add adman line to syner test

* add tests

* fix issues

* fix web banner test

* add 404 banner

* fmt

* rase coverage

* del redundant files

* change endpont address

* change config endpoint

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Don't override test parameter (#1373)

* OpenX + Facebook Hardening (#1368)

* Updating Conversant endpoint url (#1376)

* Metrics for TCF 2 adoption (#1360)

* Fall back to constant rates when the currency rates endpoint i… (#1364)

* TheMediaGrid: added app type support (#1377)

* user.ext.eids support in adform adapter (#1381)

* Add Logicad adapter (#1382)

* Fix Previous Merge Conflict (#1392)

* Kubient: Change default endpont address (#1398)

* Add support for multiple root schain nodes (#1374)

* Update endpoint for latest release by districtm (#1401)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Set OpenRTB DNT From HTTP Header (#1397)

* Add video for InApp support (#1399)

* Timeout fix (#1390)

* Privacy Request Metrics (#1400)

* Privacy Request Metrics

* Fix Bug + Add Unit Tests

* Fixed Tests

* Fix Typo

* Parse Site.Publisher.ID from Amp Auction HTTP Req Query Parameter "account" (#1403)

* Facebook Only Supports App Impressions (#1396)

* fix: Change currency of ad-generation's bidResponse according to bidRequest (#1383)

* Adding primary categories to freewheel mapping (#1407)

* Add Outgoing Connection Metrics (#1343)

* Pubmatic: Support for video duration and primary category (#1384)

* Adding suport for video duration and primary category in pubmatic adapter

* Adding code review changes for PR-1384

* Adding changes for syntaxNode suggestion

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Add IPv6 Non-Public Network (#1417)

* GumGum: adds support for video (#1408)

* OpenX adapter: pass optional platform (PBID-598) (#1421)

* Adds keyvalue hb_format support (#1414)

* feat: Add new logger module - Pubstack Analytics Module (#1331)

* Pubstack Analytics V1 (#11)

* V1 Pubstack (#7)

* feat: Add Pubstack Logger (#6)

* first version of pubstack analytics

* bypass viperconfig

* commit #1

* gofmt

* update configuration and make the tests pass

* add readme on how to configure the adapter and update the network calls

* update logging and fix intake url definition

* feat: Pubstack Analytics Connector

* fixing go mod

* fix: bad behaviour on appending path to auction url

* add buffering

* support bootstyrap like configuration

* implement route for all the objects

* supports termination signal handling for goroutines

* move readme to the correct location

* wording

* enable configuration reload + add tests

* fix logs messages

* fix tests

* fix log line

* conclude merge

* merge

* update go mod

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix duplicated channel keys

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* first pass - PR reviews

* rename channel* -> eventChannel

* dead code

* Review (#10)

* use json.Decoder

* update documentation

* use nil instead []byte("")

* clean code

* do not use http.DefaultClient

* fix race condition (need validation)

* separate the sender and buffer logics

* refactor the default configuration

* remove error counter

* Review GP + AR

* updating default config

* add more logs

* remove alias fields in json

* fix json serializer

* close event channels

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix race condition

* first pass (pr reviews)

* refactor: store enabled modules into a dedicated struct

* stop goroutine

* test: improve coverage

* PR Review

* Revert "refactor: store enabled modules into a dedicated struct"

This reverts commit f57d9d61680c74244effc39a5d96d6cbb2f19f7d.

# Conflicts:
#	analytics/config/config_test.go

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* New bid adapter for Smaato (#1413)

Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>

* New Adprime adapter (#1418)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Separate "debug" behavior from "billable" behavior (#1387)

* Remove redundad struct (#1432)

* Tcf2 id support (#1420)

* Default TCF1 GVL in anticipation of IAB no longer hosting the v1 GVL (#1433)

* update to the latest go-gdpr release (#1436)

* Video endpoint bid selection enhancements (#1419)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* [WIP] Bid deduplication enhancement (#1430)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Refactor rate converter separating scheduler from converter logic to improve testability (#1394)

* Fix TCF1 Fetcher Fallback (#1438)

* UOE-5440: Changes for capturing Pod algorithm execution time using pbmetrics (#65)

* Added function getPrometheusRegistry()

* Exported function GetPrometheusRegistry

* UOE-5440: Capturing execution time in nanoseconds for algorithms

* UOE-5440: Changes for prometheus algorithem metrics for pod using pbsmetrics

* UOE-5440: Test cases for prometheus

* UOE-5440: Added test cases

* UOE-5440: Changing buckets

* UOE-5440: changes in pbsmetrics for newly added metrics

Co-authored-by: Sachin Survase <sachin.survase@pubmatic.com>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* UOE-5440: Fixed the Unit test issues (#72)

Fixed unit test issues 
Co-authored-by: Sachin Survase <sachin.survase@pubmatic.com>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Eplanning adapter: Get domain from page (#1434)

* Fix no bid debug log (#1375)

* Update the fallback GVL to last version (#1440)

* UOE-5511 Support for skadnetwork in pubmatic (#73)

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Enable geo activation of GDPR flag (#1427)

* Validate External Cache Host  (#1422)

* first draft

* Little tweaks

* Scott's review part 1

* Scott's review corrections part 2

* Scotts refactor

* correction in config_test.go

* Correction and refactor

* Multiple return statements

* Test case refactor

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Fixes bug (#1448)

* Fixes bug

* shortens list

* Added adpod_id to request extension (#1444)

* Added adpod_id to request -> ext -> appnexus and modified requests splitting based on pod

* Unit test fix

* Unit test fix

* Minor unit test fixes

* Code refactoring

* Minor code and unit tests refactoring

* Unit tests refactoring

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Adform adapter: additional targeting params added (#1424)

* Fix minor error message spelling mistake "vastml" -> "vastxml" (#1455)

* Fixing comment for usage of deal priority field (#1451)

* moving docs to website repo (#1443)

* Fix bid dedup (#1456)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* consumable: Correct width and height reported in response. (#1459)

Prebid Server now responds with the width and height specified in
the Bid Response from Consumable. Previously it would reuse the width
and height specified in the Bid Request. That older behaviour was
ported from an older version of the prebid.js adapter but is no longer
valid.

* Panics happen when left with zero length []Imp (#1462)

* Add Scheme Option To External Cache URL (#1460)

* Update gamma adapter (#1447)

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* Update gamma.go

* Update config.go

Remove Gamma User Sync Url from config

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* update gamma adapter

* return nil when have No-Bid Signaling

* add missing-adm.json

* discard the bid that's missing adm

* discard the bid that's missing adm

* escape vast instead of encoded it

* expand test coverage

Co-authored-by: Easy Life <ezlife.ga@gmail.com>

* fix: avoid unexpected EOF on gz writer (#1449)

* Smaato adapter: support for video mediaType (#1463)

Co-authored-by: vikram <vikram.chandel@smaato.com>

* Resolved merge issues

* Rubicon liveramp param (#1466)

Add liveramp mapping to user.ext

should translate the "liveramp.com" id from the "user.ext.eids" array to "user.ext.liveramp_idl" as follows:

```
{
  "user": {
    "ext": {
      "eids": [{
        "source": 'liveramp.com',
        "uids": [{
          "id": "T7JiRRvsRAmh88"
        }]
      }]
    }
  }
}
```

 to XAPI:
```
{
  "user": {
    "ext": {
      "liveramp_idl": "T7JiRRvsRAmh88"
    }
  }
}
```

* Consolidate StoredRequest configs, add validation for all data types (#1453)

* Fix Test TestEventChannel_OutputFormat (#1468)

* Add ability to randomly generate source.TID if empty and set publisher.ID to resolved account ID (#1439)

* Add support for Account configuration (PBID-727, #1395) (#1426)

* Minor changes to accounts test coverage (#1475)

* Brightroll adapter - adding config support (#1461)

* Refactor TCF 1/2 Vendor List Fetcher Tests (#1441)

* BugID:OTT-17 First Commit

* Add validation checker for PRs and merges with github actions (#1476)

* Cache refactor (#1431)

Reason: Cache has Fetcher-like functionality to handle both requests and
imps at a time. Internally, it still uses two caches configured and searched
separately, causing some code repetition. Reusing this code to cache
other objects like accounts is not easy.

Keeping the req/imp repetition in fetcher and out of cache allows for a
reusable simpler cache, preserving existing fetcher functionality.

Changes in this set:

Cache is now a simple generic id->RawMessage store
fetcherWithCache handles the separate req and imp caches
ComposedCache handles single caches - but it does not appear to be used
Removed cache overlap tests since they do not apply now
Slightly less code

* Pass Through First Party Context Data (#1479)

* Added new size 640x360 (Id: 198) (#1490)

* Refactor: move getAccount to accounts package (from openrtb2) (#1483)

* OTT-18: moved VideoAuction to selector pattern. This  required for mocking PBS response (#76)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Fixed TCF2 Geo Only Enforcement (#1492)

* New colossus adapter [Clean branch] (#1495)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* New: InMobi Prebid Server Adapter (#1489)

* Adding InMobi adapter

* code review feedback, also explicitly working with Imp[0], as we don't support multiple impressions

* less tolerant bidder params due to sneaky 1.13 -> 1.14+ change

* Revert "Added new size 640x360 (Id: 198) (#1490)" (#1501)

This reverts commit fa23f5c226df99a9a4ef318100fdb7d84d3e40fa.

* CCPA Publisher No Sale Relationships (#1465)

* Fix Merge Conflict (#1502)

* Update conversant adapter for new prebid-server interface (#1484)

* Implement returnCreative (#1493)

* Working solution

* clean-up

* Test copy/paste error

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* OTT-24: Basic support for sorting the deal bids in forming the final ad pod response

* ConnectAd S2S Adapter (#1505)

* between adapter (#1437)

Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>

* Invibes adapter (#1469)

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* OTT-24: Added changes around https://github.com/prebid/prebid-server/issues/1503 (Proposal for Prebid Server)

* Refactor postgres event producer so it will run either the full or de… (#1485)

* Refactor postgres event producer so it will run either the full or delta query periodically

* Minor cleanup, follow golang conventions, declare const slice, add test cases

* Remove comments

* Bidder Uniqueness Gatekeeping Test (#1506)

* OTT-27, OTT-32 Supporting Deal Prioritization for CTV

* ucfunnel adapter update end point (#1511)

* Refactor EEAC map to be more in line with the nonstandard publisher map (#1514)

* Added bunch of new sizes (#1516)

* New krushmedia bid adapter (#1504)

* Invibes: Generic domainId parameter (#1512)

* Smarty ads adapter (#1500)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>

* Add vscode remote container development files (#1481)

* First commit (#1510)

Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>

* UOE-5616: Support wiid in pubmatic (#77)

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Vtrack and event endpoints (#1467)

* Rework pubstack module tests to remove race conditions (#1522)

* Rework pubstack module tests to remove race conditions

* PR feedback

* Remove event count and add helper methods to assert events received on channel

* Updating smartadserver endpoint configuration. (#1531)

Co-authored-by: tadam <tadam@smartadserver.com>

* Add new size 500x1000 (ID: 548) (#1536)

* Fix missing Request parameter for Adgeneration Adapter (#1525)

* Fix endpoint url for TheMediaGrid Bid Adapter (#1541)

* Add Account cache (#1519)

* Add bidder name key support (#1496)

* Simplifying exchange module: bidResponseExt gets built anyway (#1518)

* first draft

* Scott's feedback

* stepping out real quick

* add cache errors to bidResponseExt before marshalling

* Removed vim's swp file

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Correct GetCpmStringValue's second return value (#1520)

* Add metrics to capture stored data fetch all/delta durations with fetch status (#1515)

* Adds preferDeals support (#1528)

* OTT-29 Fixing Skip Dedup Map Issue

* Emxd 3336 add app video ctv (#1529)

* Adapter changes for app and video support

* adding ctv devicetype test case

* Adding whitespace

* Updates based on feedback from Prebid team

* protocol bug fix and testing

* Modifying test cases to accomodate new imp.ext field

* bidtype bug fix and additonal testcase for storeUrl

Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>

* Add http api for fetching accounts (#1545)

* Add missing postgres cache init config validation

* Acuity ads adapter (#1537)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>

* Yieldmo app support in yaml file (#1542)

Co-authored-by: Winston <wiston@yieldmo.com>

* Add metrics for account cache (#1543)

* OTT-29 Adding Video Duration in hb_pb_cat_dur key
OTT-29 Fixing Skip Dedup Map Issue

* OTT-9 Adding Duration in hb_pb_cat_dur field

* [Invibes] remove user sync for invibes (#1550)

* [invibes] new bidder stub

* [invibes] make request

* [invibes] bid request parameters

* [invibes] fix errors, add tests

* [invibes] new version of MakeBids

* cleaning code

* [invibes] production urls, isamp flag

* [invibes] fix parameters

* [invibes] new test parameter

* [invibes] change maintainer email

* [invibes] PR fixes

* [invibes] fix parameters test

* [invibes] refactor endpoint template and bidVersion

* [Invibes] fix tests

* [invibes] resolve PR

* [invibes] fix test

* [invibes] fix test

* [invibes] generic domainId parameter

* [invibes] remove invibes cookie sync

* [Invibes] comment missing Usersync

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* Add Support For imp.ext.prebid For DealTiers (#1539)

* Add Support For imp.ext.prebid For DealTiers

* Remove Normalization

* Add Accounts to http cache events (#1553)

* OTT-9 : (OTT-45) Added logger and prometheus metrics to capture bid.id collisions (#85)


* OTT-45: Added logger and Prometheus metrics to capture bid.id collisions (#84)
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Fix JSON tests ignore expected message field (#1450)

* NoBid version 1.0. Initial commit. (#1547)

Co-authored-by: Reda Guermas <reda.guermas@nobid.io>

* Added dealTierSatisfied parameters in exchange.pbsOrtbBid and openrtb_ext.ExtBidPrebid and dealPriority in openrtb_ext.ExtBidPrebid  (#1558)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* UOE-5745 changes for consuming rewarded inventory flag in PubMatic adapter

* Add client/AccountID support into Adoppler adapter. (#1535)

* Optionally read IFA value and add it the the request url (Adhese) (#1563)

* Add AMX RTB adapter (#1549)

* UOE-5745 adding a test input file for rewarded video case

* UOE-5745: removing commented code

* update Datablocks usersync.go (#1572)

* 33Across: Add video support in adapter (#1557)

* SilverMob adapter (#1561)

* SilverMob adapter

* Fixes andchanges according to notes in PR

* Remaining fixes:
multibids, expectedMakeRequestsErrors

* removed log

* removed log

* Multi-bid test

* Removed unnesesary block

Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>

* Updated ePlanning GVL ID (#1574)

* update adpone google vendor id (#1577)

* ADtelligent gvlid (#1581)

* Add account/ host GDPR enabled flags & account per request type GDPR enabled flags (#1564)

* Add account level request type specific and general GDPR enabled flags

* Clean up test TestAccountLevelGDPREnabled

* Add host-level GDPR enabled flag

* Move account GDPR enable check as receiver method on accountGDPR

* Remove mapstructure annotations on account structs

* Minor test updates

* Re-add mapstructure annotations on account structs

* Change RequestType to IntegrationType and struct annotation formatting

* Update comment

* Update account IntegrationType comments

* Remove extra space in config/accounts.go via gofmt

* DMX Bidfloor fix (#1579)

* adform bidder video bid response support (#1573)

* Fix Beachfront JSON tests (#1578)

* Add account CCPA enabled and per-request-type enabled flags (#1566)

* Add account level request-type-specific and general CCPA enabled flags

* Remove mapstructure annotations on CCPA account structs and clean up CCPA tests

* Adjust account/host CCPA enabled flag logic to incorporate feedback on similar GDPR feature

* Add shared privacy policy account integration data structure

* Refactor EnabledForIntegrationType methods on account privacy objects

* Minor test refactor

* Simplify logic in EnabledForIntegrationType methods

* Refactored HoldAuction Arguments (#1570)

* Fix bug in request.imp.ext Validation (#1575)

* First draft

* Brian's reivew

* Removed leftover comments

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>

* Updating import statements for v0.138.0 upgrade

* OTT-66 Selecting DealBids over Normal Bids for CTV Requests

* OTT-64: ctv auction module will now  populate hb_pb and hb_pb_cat_dur… (#89)

* OTT-64: ctv auction module will now  populate hb_pb and hb_pb_cat_dur (in case supportdeals=true)
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* OTT-67: Added functionality to prefer using actual video ad duration  (#90)

* OTT-67: Added functionality to prefer using video ad duration returned by the bidder.
If it is 0 or any error is occurred in determining it then the impression-level max duration value
will be used.

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* OTT-71: (CI) Add stats collecting information around the actual Ad duration (#93)

* OTT-71: added new metrics adapter_vidbid_dur

* OTT-71: Added new metric

* OTT-71: Reverted with master changes

* OTT-71: Added missing method in mock. Refatored testcase data structure

* OTT-71: Corrected unit tests and addressed code review comments

* OTT-71: Removed unwanted method and comment

* OTT-71: Corrected the comment

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* UOE-5690: Fixing merging issues

* UOE-5690 Fixing merging issues

* prebid-server v0.138 upgrade: fixing merging issue

* Prebid-upgrade Fixing test cases

* Prebid-server upgrade: removing unwanted files

* prebid-server upgrade: fixing formating issue

Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertixvost@gmail.com>
Co-authored-by: Steve Alliance <steve.alliance@gmail.com>
Co-authored-by: steve-a-districtm <steve@districtm.net>
Co-authored-by: Artur Aleksanyan <artur.aleksanyan89@gmail.com>
Co-authored-by: Brandon Ling <51931757+blingster7@users.noreply.github.com>
Co-authored-by: Richard Lee <14349+dlackty@users.noreply.github.com>
Co-authored-by: Simon Critchley <sicritchley@gmail.com>
Co-authored-by: Brian Sardo <1168933+bsardo@users.noreply.github.com>
Co-authored-by: tadam75 <adam.thomas@live.fr>
Co-authored-by: tadam <tadam@smartadserver.com>
Co-authored-by: SmartyAdman <59048845+SmartyAdman@users.noreply.github.com>
Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>
Co-authored-by: Marsel <marsel.taipov@kubient.com>
Co-authored-by: AaronColbyPrice <67345931+AaronColbyPrice@users.noreply.github.com>
Co-authored-by: Jurij Sinickij <jurij.sinickij@gmail.com>
Co-authored-by: logicad <ytsuchiya@so-netmedia.jp>
Co-authored-by: Daniel Barrigas <danielgbarrigas@gmail.com>
Co-authored-by: susyt <susan@fox.camp>
Co-authored-by: gpolaert <gpolaert@pubstack.io>
Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>
Co-authored-by: Vikram <vikramsinghchandel@users.noreply.github.com>
Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>
Co-authored-by: Adprime <64427228+Adprime@users.noreply.github.com>
Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>
Co-authored-by: Sachin Survase <sachin.survase@pubmatic.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>
Co-authored-by: Jurij Sinickij <jurij.sinickij@adform.com>
Co-authored-by: Rob Hazan <robhazan@gmail.com>
Co-authored-by: GammaSSP <35954362+gammassp@users.noreply.github.com>
Co-authored-by: Easy Life <ezlife.ga@gmail.com>
Co-authored-by: smithaammassamveettil <39389834+smithaammassamveettil@users.noreply.github.com>
Co-authored-by: Viral Vala <viral.vala@pubmatic.com>
Co-authored-by: hdeodhar <35999856+hdeodhar@users.noreply.github.com>
Co-authored-by: Bill Newman <huddled.masses1650@gmail.com>
Co-authored-by: Daniel Lawrence <Aether963@gmail.com>
Co-authored-by: rtuschkany <35923908+rtuschkany@users.noreply.github.com>
Co-authored-by: Alexey Elymanov <strangeqargo@gmail.com>
Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>
Co-authored-by: invibes <51820283+invibes@users.noreply.github.com>
Co-authored-by: aurel.vasile <vaurels@yahoo.com>
Co-authored-by: ucfunnel <39581136+ucfunnel@users.noreply.github.com>
Co-authored-by: Krushmedia <71434282+Krushmedia@users.noreply.github.com>
Co-authored-by: Kushneryk Pavel <levelup.kpi@gmail.com>
Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Dan Bogdan <43830380+EMXDigital@users.noreply.github.com>
Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>
Co-authored-by: AcuityAdsIntegrations <72594990+AcuityAdsIntegrations@users.noreply.github.com>
Co-authored-by: Winston <wiston@yieldmo.com>
Co-authored-by: redaguermas <redaguermas@gmail.com>
Co-authored-by: Reda Guermas <reda.guermas@nobid.io>
Co-authored-by: Nick Jacob <nickbjacob@gmail.com>
Co-authored-by: Aparna Rao <pr.aparna@gmail.com>
Co-authored-by: silvermob <73727464+silvermob@users.noreply.github.com>
Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>
Co-authored-by: Sergio <sergio.anru@gmail.com>
sachin-pubmatic added a commit to PubMatic-OpenWrap/prebid-server that referenced this pull request Feb 1, 2021
* OTT-64: Deal Prioritisation - Auction Model based issues (#101)

OTT-64: Deal Prioritisation - Auction Model based issues (#101)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* OTT-67: pwtdur key is showing wrong creative duration in case of AppNexus (#103)

OTT-67: Added functionality to prefer using video ad duration returned by the bidder.

Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>

* OTT-66: Ensure all/maximum deal bids are getting selected while building the final ad pod response (#102)

* OTT-66 Selecting DealBids over Normal Bids for CTV Requests

* Prebid server 0.138.0 (#96)

* replacing info@prebid.org maintainer email addrs (#1256)

* aligning maintainer info (#1258)

* Add kidoz bidder info (#1257)

got this info from email communication with kidoz

* Add Cropping of BAdv for Rubicon Adapter (#1254)

* Add Cropping of BAdv for Rubicon Adapter

BAdv size is limited to 50

* Fix after review

Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>

* Added metrics support to endpoint aspect (#1226)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Prebid Server adapter for Telaria (#1231)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* #615 Beachfront URLs from config (#1238)

* Add nil check errors when setting native asset types (#1260)

* Bugfix: no bids from bidder handling (#1252)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add missing categories to AppNexus -> IAB mapping file. (#1264)

* Add missing categories to AppNexus -> IAB mapping file.

* Remove entry for category 38 which was set to a primary IAB category instead of a sub-category.

* Fix order of category 22

* Yieldone s2s Bid Adapter (#1242)

* Added new Yieldone Bid s2s Adapter

* Update endpoint for yieldone bid adapter

* Fixes after review for Yieldone Bid s2s Adapter

* Fix typeo in Yieldone s2s Bid Adapter

* Fix: URL de sync (#1261)

* populate the app ID in the FAN timeout notif url with the publisher ID (#1265)

and the auction with the request ID

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* Added header User Agent decoding (#1268)

* Added header User Agent decoding

* Added header User Agent decoding: unit tests

* Added header User Agent decoding: unit tests

* Added check UA is encoded to avoid `+` converted to space

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Ad Generation Adapter Integration. (#1253)

* AdGeneration Integration.

* update AdGeneration adapter.
fix: some methods of the adgAdapter replace to functions.
fix: unmarshal functions return a pointer.
fix: header is defined once.
fix: return when imps is appended

* update AdGeneration Adapter.

add: Added a comment in usersync.
add: Added a test for parameters whose ID does not exist in params_test.
change: Change to query creation by net/url. Added getRawQuery Test.
fix: Changed variable names related to bidRequest.

* Fix Go 1.14 Error Message Changes (#1271)

* NinthDecimal Adapter (#1249)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* * Add PubMatic bidder doc file (#1255)

* Add app video capability to PubMatic bidder info file

* Appnexus adapter: Add category mapping for government. (#1278)

* Update a Freewheel mapping to Gaming category. (#1280)

* Add AJA adapter (#1269)

* OpenX adapter: Pass gdpr and gdpr_consent to user sync endpoint (#1282)

I've also updated the test to avoid any confusion.

* OpenX adapter: Enable video for app (#1281)

* fix conversant sync pixel (#1284)

* Add AdOcean adapter (#1273)

* [ADOCEAN-20132] AdOcean adapter

* [ADOCEAN-20132] AdOcean adapter - support for gdpr

* [ADOCEAN-20132] AdOcean adapter - tests

* [ADOCEAN-20132] AdOcean adapter - user sync

* [ADOCEAN-20132] AdOcean adapter - formatting

* [ADOCEAN-20132] AdOcean adapter - send uuid to emitter

* [ADOCEAN-20132] adocean adapter - return nil if there is no creative

* [ADOCEAN-20132] AdOcean adapter - add version parameter

* [ADOCEAN-20132] AdOcean adapter - optimization

* [ADOCEAN-20132] AdOcean adapter - add to syncer_test.go

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove whitespaces in js code on adapter initialization instead on every request
* check if request.Site is not nil
* reuse newUri variable

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* do not terminate the auction on a single faulty bid

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove unnecessary input parameters check
* small optimization

* LunaMedia Adapter (#1285)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* [Sharethrough] Add CCPA support (#1263)

* Handle gzip responses from ad server correctly

* Bump to version 8

* [Go Modules] Add proxy (#1079)

* Add SSL cert for accessing stored request API (#1087)

* [misspell] fix a misspell (#1102)

* update static bidder params for rubicon video to follow the json marshalling names (#1100)

* Switching yieldmo auction endpoint from http to https (#1103)

* Add Datablocks Adapter (#1095)

* datablocks bid adapter

* ttx

* add test json

* add coverage

* redo ttx

* formatted

* better error handling

* additional tests and recomended fixes

* Adding translatecategories flag to includebrandcategory (#1098)

* Making IAB category translation optional with translatecategories boolean in request

* Updating exchange unit tests to remove extra bids

* Updates from code review comments

* Removed comment about default TranslateCategories value
* Changed translateCat to translateCategories in tests
* Combined helper functions in exchange_test related to TranslateCategories

* Bid floor (#1085)

* Currency handling fix (#1097)

* facebook adapter refactor (#1064)

* Kubient adapter (#1094)

* [synacormedia] Update user sync url to be https (#1115)

This detail was missed while setting up the adapter, but we would like to use https for the user sync.

* Remove Go 1.11 Build Target (#1109)

* Set "Secure" on Same SIte cookies (#1119)

* TripleliftNative Adapter (#1114)

* ignore swp files

* start small

* start really small

* add a user sync

* justify

* triplelift adapter

* add our endpoint

* fix syntax

* config stuff

* compiler fixes

* more config

* add params

* making progress

* make our ext more exty

* start making responses

* more logic

* fix compilation errors

* can we just nil this out?

* augment our json

* radically simplify our json

* fix errs

* infer the bid type

* fix syntax

* fix comilation errors

* rename

* fix compilation error

* config stuff

* simplify params

* more config stuff

* fixes

* revert this

* fix up the extension

* getting closer

* add a test

* update config

* update bidder params

* add the floor here, too

* add a usersync test

* validation, ws, and a test

* update tests

* fix test

* update email

* why not

* change email

* preprocess requests

* do some parsing

* take care of some errors

* floor is optional

* ws

* remove native

* everything is either banner or video

* this should be a float

* floor to floor

* fix compilation errors

* add some tests

* more tests

* more tests

* simplify

* more progress

* format

* ws

* rm

* don't need this

* fix test

* fix test

* don't ignore swap

* change line back

* report an error if there are no valid impressions for triplelift

* check for either a Banner or Video object on the impression

* more tests

* mv

* more tests

* update triplelift end point

* send native

* ws

* start changing tests

* fix more tests

* update config

* add redirect to triplelift usersync

* fix supplier id in triplelift_test

* update tl usersync endpoint and test

* fix tl supplier id in test json

* update usersync test template

* adjust inconsistency with test and sync url

* mv

* update packages

* mv

* mv

* update

* fix compilation errors

* rename

* rename some stuff

* rename

* rename

* fix some compilation errors

* ws

* ws

* add the extra info

* add some extra info

* add some files back

* ws and such

* updates

* ws

* fix compilation error

* mv

* rename

* Revert "rename"

This reverts commit 1b77c72e1eeee580148540fbdd880e70bf699709.

* Revert "mv"

This reverts commit 52a134ddfaf531fe6235e4751935d4266a36e78f.

* it builds

* cp a file

* cp another file

* fix a test

* fix test

* add the extra info

* ws

* add some logic

* edit comment

* it compiles

* this is now public

* call this

* add the function

* return nil

* seems to be working

* ws

* seems to be working

* ws

* mv

* starting to work

* ws

* add a new function

* ws

* fix tests

* bug fix

* update some stuff

* revert

* take out prints

* fix up diff

* fix up diff

* update ws

* fix

* ws

* omit the triplelift endppint

* Revert "omit the triplelift endppint"

This reverts commit 7abc3e46f0fbba39041da6fff7bb2335adc1fece.

* populate the endpoint through the extinfo

* ws

* set disabled to be default

* ws

* update types

* fixing tests

* making progres

* fix tests

* fix tests

* more fixes for tests

* fixed tests

* just use a comment

* get rid of endpoint

* restore endpoint

* add some errors around unmarshalling

* ws

* ws

* use the literal

* ws

* ws

* update json

* simplify

* ws

* restore tests

* fail fast when grabbing invcode

* use the right type

* use a different error type

* bump code coverage

* add a new test

* change error type

* ws

* break out test into its own function

* JSON block that has a full data-center specific URL cache info (#1104)

* Update Dockerfile and Makefile  (#1099)

* Add option for running tests as part of the docker image building

* Update Makefile

- Add ability to execute adapter specific tests
- Execute targets for "all" rather than just printing the target name and usage
- Remove use of non-existing "install" target from .PHONY targets
- Remove "build" as a dependency for "image"

* enable app requests for audience network (#1122)

* [docs] fix markdown title (#1124)

* Prometheus Refactor (#1108)

* update default sync url (#1127)

* Update sync url for BidderGrid adapter (#1120)

* [SonarCloud] Legacy auction endpoint (#1017)

* [currency converter] allow to deduce reverse rate (#1126)

This CL allows the currency rate currency to deduce a currency rate even
if not directly defined in the table but the reverse rate is present.

E.q.

USD => EUR is 1.0897
EUR => USD is not set

Old behavior when asking rate from EUR to USD will not be found,
New behavior is using the known reverse rate to deduce the rate.

Rate for 2 USD will be 2 * (1 / 1.0897)

* Updated handleError arguments to be pointers for video endpoint (#1128)

* Updated handleError arguments to be pointers for video endpoint

* Removing unneeded pointer to http.ResponseWriter

* Adding units test for update to handleError

* Revert changes to GetExtCacheData() made in #1104 (#1130) (#1131)

* Better native request validation (#1132)

* require the caller to define native assets[...].ID (#1123)

* require the caller to define native assets[...].ID

* Update assets-with-partial-ids.json

* CCPA Phase 1: AMP Endpoint (#1125)

* facebook: removed Auth-Token from header (replaced by authentication_id in the request body) (#1113)

* Setuid Fix (#1121)

* Update http refresh to use url builder. Fixes #1065 (#1133)

* Add mapping of user.ext.eids[] for LiveIntent in Rubicon bidder (#1089)

* support facebook app_secret config param (#1139)

* CCPA Phase 1: Cookie Sync (#1135)

* null check banner.h (#1142)

* Add Pubnative Adapter (#1134)

* Adding the passing of CCPA value to the bid request for video endpoint (#1143)

* first draft (#1137)

* CCPA Phase 2: Enforcement (#1138)

* Gamoshi Adapter: Update cookie sync (#1146)

* Simplify static/bidder-params/triplelift_native.json (#1152)

* Added US Privacy support in TheMediaGrid server adapter (#1147)

* Add TheMediaGrid server adapter

* Add video support in TheMediaGrid s2s adapter

* Update sync url for TheMediaGrid s2s adapter

* Added CCPA support for TheMediaGrid s2s adapter

* Fix sync url for TheMediaGrid adapter

* CCPA User Sync Updates (#1153)

* Marsmedia - add new bidder (#1118)

* Add Applogy adapter (#1151)

* enforce video.size_id for video imps in rubicon adapter (#1101)

* Updated PubMatic endpoint to use https (#1155)

* Update Example AppNexus Placement ID (#1160)

* Fix Currency Converter Doesn't Output CUR (#1154)

* Add custom JSON req/resp data to the analytics logging… (#1145)

* Add custom JSON req/resp data to the analytics logging for the /openrtb2/video endpoint.

* Add calls in unit tests to cover logging and jsonify of video object.

* CCPA User Sync URL Updates (#1157)

* Fixes audienceNetwork adapter ignoring banner.format sizes. (#1164)

* adding yieldmo vendor id to usersync (#1166)

* Add SmartRTB adapter (#1071)

* Added new adapter for CPMStar ad network banners and video (#1159)

* Update the Conversant sync pixel (#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (#1170)

* [currencies] fix GetInfo() null ref issue (#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: #1136

* Fix triplelift User Sync (#1173)

* Enhance Message For Cache Errors (#1175)

* Fix PubMatic Usersync URL (#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (#1165)

* Remove all non-secure calls from eplanning adapter (#1179)

* Expose Cache HTTP Settings (#1184)

* Adding bid rejection messages to debug response (#1181)

* Adds timeout notifications for Facebook (#1182)

* VIS.X: added app type support (#1194)

* Add Adoppler bidder support. (#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (#1183)

* updating default hard-coded list of certs (#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (#1195)

* Adding copying of gdpr consent string to openrtb bid request (#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (#1208)

* openx adapter: forward bid response currency in openx adapter if set (#1211)

it was always set to the default USD before

* add ucfunnel adapter (#1192)

* Update required params for TheMediaGrid adapter (#1188)

* add zeroclickfraud adapter (#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (#1199)

* Add ValueImpression Adapter (#1204)

* Kidoz adapter (#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (#1224)

Fix type

* Update auction.md (#1225)

Fix typo.

* Added logging to cache for video endpoint (#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (#1232)

* treat 204 from FAN as a no bids response (#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (#1187)

* Update rubicon.md (#1234)

* adding schain interface (#1203)

* added Rewarded Video section (#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (#1250)

* Handle CCPA + enable gzip response

[#169984259]

* Addressing review (#273)

[#169984259]

* Remove custom gzip logic  (#280)

* Getting rid of custom gzip logic

[#169984259]

* Restore prod ad server url

[#169984259]

Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>

* Remove Outdated GDPR AMP Special Case (#1283)

* Stricter Privacy Scrubbing (#1286)

* Stricter Privacy Scrubbing

* Update Unit Test Style

* Fixed Whitespace

* Add Adapter Orbidder (#1275)

Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: rvolk <>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>

* Added OpenX Bidder adapter documentation (#1291)

* OpenX adapter: Pass rewarded video flag (#1290)

* Bugfix for missing fields in imp.video (#1297)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add cpmOverride (#1289)

* Add cpmOverride

Enabled `request.ext.rubicon.debug.cpmOverride` and `request.imp[].ext.rubicon.debug.cpmOverride` processing.
Updates tests

* Remove unnecessary error checks and add shallow copy

* Fixed same pointer

* Add Beintoo adapter (#1274)

* Add Beintoo adapter

* Yeahmobi adapter (#1279)

Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>

* advangelists: Vendor id update (#1307)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Consumable: Support GDPR and US Privacy consent (#1300)

* Restore the AMP privacy exception as an option. (#1311)

* Restore the AMP privacy exception as an option.

* Adds missing test case

* More PR feedback

* Remove unused constant

* Comment tweak

* consumable: Correct GDPR vendor ID to 591. (#1309)

fixes #1299.

* VIS.X: fix bid.ID, bid.CrID and set default currency value (#1296)

* Fix debug log error messages (#1270)

* Fixing missing error messages for debug logging

* Updated formatting of debug log message

* Updated unit tests for debug log to have test flag enabled

* Cleaned up debug log implementation

* Updates from review comments

* Cleaned up field and function names
* Added replacer for <> characters
* Added cache string unit test

* Moved regex from function to struct field

* Moved debug regex to endpoint deps

* Moving regex initialization to NewVideoEndpoint

* MobileFuse Adapter (#1303)

Co-authored-by: Dan Barnett <danb@mobilefuse.com>

* eplanning: Support for apps (#1306)

* Introduce Adhese adapter (#1292)

Co-authored-by: Mateusz <mateusz@adhese.eu>

* privacy: Potential JSON injection (#1304)

* Updating bidder params for Advangelists (#1316)

* Updating placement info on bidder params

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Change placement of cpmoverride for Rubicon (#1310)

* increasing the stale period to 2 months (#1305)

* Add Go 1.14 Build Target (#1314)

* Privacy: Remove user.ext.eids (#1294)

* Privacy: Remove user.ext.eids

* Extract To A Method

* Minor Refactor + More Tests

* Performance Tweak

* Removed some redundant methods (#1320)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

* Removed some redundant methods.

* Removed a comment

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Beachfront: GDPR id (issue 1301) and documentation updates (#1321)

* Defined cookie sync URL in config, cleared deprecated comment in usersync

* Update beachfront.md

* editing documentation

* updated gdpr id - issue 1301

* Add Yieldlab Adapter (#1287)

Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Signed-off-by: Alex Klinkert <alex@klinkert.io>

Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>

* Update adtelligent ortb endpoint (#1318)

* Change on eplanning endpoint (#1327)

* Enable full TCF2 support (#1302)

* New config options

* Enble TCF2 fields and logic

* Resolves some PR comments

* More tests

* gofmt

* Added enforcement tests for split GDPR/GDPRGeo

* Testing tweaks

* No longer ignore enforce purpose 1 on allowSync()

* Removes Purpose 4

* Change on eplanning endpoint (hostname) (#1328)

* Districtm Dmx: new adapter  (#1209)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Fix sync url for Yieldone s2s Bid Adapter (#1336)

* Fix typo in Yieldone sync url

* CCPA Video Bug (#1333)

* Add Pubnative bidder documentation (#1340)

* Timeout notification monitoring and debugging (#1322)

* Add Adtarget server adapter (#1319)

* Add Adtarget server adapter

* Suggested changes for Adtarget

* Update Auction OpenRTB Sample (#1342)

* Update Auction OpenRTB Sample

* Removed Extra "Or"

* Triplelift: Add SRA Support (#1347)

* Privacy: Limit Ad Tracking (#1334)

* Avoid overriding AMP request original size with mutli-size (#1352)

* Extra logging for timeout notifications (#1349)

* Consumable: Correct bid type, should always be "banner". (#1359)

* Build With Go 1.14 (#1350)

* Category mapping changes from product team. (#1348)

* Adds Avocet adapter (#1354)

* AdOcean adapter - Support for sizes defined in prebid configuration. (#1339)

support for multiple sizes

bump version to 1.1.0

* Log account id and all bidder names when recovering from OpenRTB auction bidder… (#1358)

* Adding Smartadserver adapter (#1346)

Co-authored-by: tadam <tadam@smartadserver.com>

* Added additional Ext Param (#1357)

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Adman adapter (#1356)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* PBS-632 add max connections per host config setting to general http a… (#1366)

* Add ext.bidder.zoneid for Kubient adapater (#1367)

* Add ext.bidder.zoneid for Kubient adapater

* Check the number of Imps. zoneid is optional.

* Improved IPv6 Support + Private Network Filtering (#1362)

* Change endpont address (#1370)

* Adman adapter

* add adman line to syner test

* add tests

* fix issues

* fix web banner test

* add 404 banner

* fmt

* rase coverage

* del redundant files

* change endpont address

* change config endpoint

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Don't override test parameter (#1373)

* OpenX + Facebook Hardening (#1368)

* Updating Conversant endpoint url (#1376)

* Metrics for TCF 2 adoption (#1360)

* Fall back to constant rates when the currency rates endpoint i… (#1364)

* TheMediaGrid: added app type support (#1377)

* user.ext.eids support in adform adapter (#1381)

* Add Logicad adapter (#1382)

* Fix Previous Merge Conflict (#1392)

* Kubient: Change default endpont address (#1398)

* Add support for multiple root schain nodes (#1374)

* Update endpoint for latest release by districtm (#1401)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Set OpenRTB DNT From HTTP Header (#1397)

* Add video for InApp support (#1399)

* Timeout fix (#1390)

* Privacy Request Metrics (#1400)

* Privacy Request Metrics

* Fix Bug + Add Unit Tests

* Fixed Tests

* Fix Typo

* Parse Site.Publisher.ID from Amp Auction HTTP Req Query Parameter "account" (#1403)

* Facebook Only Supports App Impressions (#1396)

* fix: Change currency of ad-generation's bidResponse according to bidRequest (#1383)

* Adding primary categories to freewheel mapping (#1407)

* Add Outgoing Connection Metrics (#1343)

* Pubmatic: Support for video duration and primary category (#1384)

* Adding suport for video duration and primary category in pubmatic adapter

* Adding code review changes for PR-1384

* Adding changes for syntaxNode suggestion

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Add IPv6 Non-Public Network (#1417)

* GumGum: adds support for video (#1408)

* OpenX adapter: pass optional platform (PBID-598) (#1421)

* Adds keyvalue hb_format support (#1414)

* feat: Add new logger module - Pubstack Analytics Module (#1331)

* Pubstack Analytics V1 (#11)

* V1 Pubstack (#7)

* feat: Add Pubstack Logger (#6)

* first version of pubstack analytics

* bypass viperconfig

* commit #1

* gofmt

* update configuration and make the tests pass

* add readme on how to configure the adapter and update the network calls

* update logging and fix intake url definition

* feat: Pubstack Analytics Connector

* fixing go mod

* fix: bad behaviour on appending path to auction url

* add buffering

* support bootstyrap like configuration

* implement route for all the objects

* supports termination signal handling for goroutines

* move readme to the correct location

* wording

* enable configuration reload + add tests

* fix logs messages

* fix tests

* fix log line

* conclude merge

* merge

* update go mod

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix duplicated channel keys

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* first pass - PR reviews

* rename channel* -> eventChannel

* dead code

* Review (#10)

* use json.Decoder

* update documentation

* use nil instead []byte("")

* clean code

* do not use http.DefaultClient

* fix race condition (need validation)

* separate the sender and buffer logics

* refactor the default configuration

* remove error counter

* Review GP + AR

* updating default config

* add more logs

* remove alias fields in json

* fix json serializer

* close event channels

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix race condition

* first pass (pr reviews)

* refactor: store enabled modules into a dedicated struct

* stop goroutine

* test: improve coverage

* PR Review

* Revert "refactor: store enabled modules into a dedicated struct"

This reverts commit f57d9d61680c74244effc39a5d96d6cbb2f19f7d.

# Conflicts:
#	analytics/config/config_test.go

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* New bid adapter for Smaato (#1413)

Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>

* New Adprime adapter (#1418)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Separate "debug" behavior from "billable" behavior (#1387)

* Remove redundad struct (#1432)

* Tcf2 id support (#1420)

* Default TCF1 GVL in anticipation of IAB no longer hosting the v1 GVL (#1433)

* update to the latest go-gdpr release (#1436)

* Video endpoint bid selection enhancements (#1419)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* [WIP] Bid deduplication enhancement (#1430)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Refactor rate converter separating scheduler from converter logic to improve testability (#1394)

* Fix TCF1 Fetcher Fallback (#1438)

* UOE-5440: Changes for capturing Pod algorithm execution time using pbmetrics (#65)

* Added function getPrometheusRegistry()

* Exported function GetPrometheusRegistry

* UOE-5440: Capturing execution time in nanoseconds for algorithms

* UOE-5440: Changes for prometheus algorithem metrics for pod using pbsmetrics

* UOE-5440: Test cases for prometheus

* UOE-5440: Added test cases

* UOE-5440: Changing buckets

* UOE-5440: changes in pbsmetrics for newly added metrics

Co-authored-by: Sachin Survase <sachin.survase@pubmatic.com>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* UOE-5440: Fixed the Unit test issues (#72)

Fixed unit test issues 
Co-authored-by: Sachin Survase <sachin.survase@pubmatic.com>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Eplanning adapter: Get domain from page (#1434)

* Fix no bid debug log (#1375)

* Update the fallback GVL to last version (#1440)

* UOE-5511 Support for skadnetwork in pubmatic (#73)

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Enable geo activation of GDPR flag (#1427)

* Validate External Cache Host  (#1422)

* first draft

* Little tweaks

* Scott's review part 1

* Scott's review corrections part 2

* Scotts refactor

* correction in config_test.go

* Correction and refactor

* Multiple return statements

* Test case refactor

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Fixes bug (#1448)

* Fixes bug

* shortens list

* Added adpod_id to request extension (#1444)

* Added adpod_id to request -> ext -> appnexus and modified requests splitting based on pod

* Unit test fix

* Unit test fix

* Minor unit test fixes

* Code refactoring

* Minor code and unit tests refactoring

* Unit tests refactoring

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Adform adapter: additional targeting params added (#1424)

* Fix minor error message spelling mistake "vastml" -> "vastxml" (#1455)

* Fixing comment for usage of deal priority field (#1451)

* moving docs to website repo (#1443)

* Fix bid dedup (#1456)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* consumable: Correct width and height reported in response. (#1459)

Prebid Server now responds with the width and height specified in
the Bid Response from Consumable. Previously it would reuse the width
and height specified in the Bid Request. That older behaviour was
ported from an older version of the prebid.js adapter but is no longer
valid.

* Panics happen when left with zero length []Imp (#1462)

* Add Scheme Option To External Cache URL (#1460)

* Update gamma adapter (#1447)

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* Update gamma.go

* Update config.go

Remove Gamma User Sync Url from config

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* update gamma adapter

* return nil when have No-Bid Signaling

* add missing-adm.json

* discard the bid that's missing adm

* discard the bid that's missing adm

* escape vast instead of encoded it

* expand test coverage

Co-authored-by: Easy Life <ezlife.ga@gmail.com>

* fix: avoid unexpected EOF on gz writer (#1449)

* Smaato adapter: support for video mediaType (#1463)

Co-authored-by: vikram <vikram.chandel@smaato.com>

* Resolved merge issues

* Rubicon liveramp param (#1466)

Add liveramp mapping to user.ext

should translate the "liveramp.com" id from the "user.ext.eids" array to "user.ext.liveramp_idl" as follows:

```
{
  "user": {
    "ext": {
      "eids": [{
        "source": 'liveramp.com',
        "uids": [{
          "id": "T7JiRRvsRAmh88"
        }]
      }]
    }
  }
}
```

 to XAPI:
```
{
  "user": {
    "ext": {
      "liveramp_idl": "T7JiRRvsRAmh88"
    }
  }
}
```

* Consolidate StoredRequest configs, add validation for all data types (#1453)

* Fix Test TestEventChannel_OutputFormat (#1468)

* Add ability to randomly generate source.TID if empty and set publisher.ID to resolved account ID (#1439)

* Add support for Account configuration (PBID-727, #1395) (#1426)

* Minor changes to accounts test coverage (#1475)

* Brightroll adapter - adding config support (#1461)

* Refactor TCF 1/2 Vendor List Fetcher Tests (#1441)

* BugID:OTT-17 First Commit

* Add validation checker for PRs and merges with github actions (#1476)

* Cache refactor (#1431)

Reason: Cache has Fetcher-like functionality to handle both requests and
imps at a time. Internally, it still uses two caches configured and searched
separately, causing some code repetition. Reusing this code to cache
other objects like accounts is not easy.

Keeping the req/imp repetition in fetcher and out of cache allows for a
reusable simpler cache, preserving existing fetcher functionality.

Changes in this set:

Cache is now a simple generic id->RawMessage store
fetcherWithCache handles the separate req and imp caches
ComposedCache handles single caches - but it does not appear to be used
Removed cache overlap tests since they do not apply now
Slightly less code

* Pass Through First Party Context Data (#1479)

* Added new size 640x360 (Id: 198) (#1490)

* Refactor: move getAccount to accounts package (from openrtb2) (#1483)

* OTT-18: moved VideoAuction to selector pattern. This  required for mocking PBS response (#76)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Fixed TCF2 Geo Only Enforcement (#1492)

* New colossus adapter [Clean branch] (#1495)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* New: InMobi Prebid Server Adapter (#1489)

* Adding InMobi adapter

* code review feedback, also explicitly working with Imp[0], as we don't support multiple impressions

* less tolerant bidder params due to sneaky 1.13 -> 1.14+ change

* Revert "Added new size 640x360 (Id: 198) (#1490)" (#1501)

This reverts commit fa23f5c226df99a9a4ef318100fdb7d84d3e40fa.

* CCPA Publisher No Sale Relationships (#1465)

* Fix Merge Conflict (#1502)

* Update conversant adapter for new prebid-server interface (#1484)

* Implement returnCreative (#1493)

* Working solution

* clean-up

* Test copy/paste error

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* OTT-24: Basic support for sorting the deal bids in forming the final ad pod response

* ConnectAd S2S Adapter (#1505)

* between adapter (#1437)

Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>

* Invibes adapter (#1469)

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* OTT-24: Added changes around https://github.com/prebid/prebid-server/issues/1503 (Proposal for Prebid Server)

* Refactor postgres event producer so it will run either the full or de… (#1485)

* Refactor postgres event producer so it will run either the full or delta query periodically

* Minor cleanup, follow golang conventions, declare const slice, add test cases

* Remove comments

* Bidder Uniqueness Gatekeeping Test (#1506)

* OTT-27, OTT-32 Supporting Deal Prioritization for CTV

* ucfunnel adapter update end point (#1511)

* Refactor EEAC map to be more in line with the nonstandard publisher map (#1514)

* Added bunch of new sizes (#1516)

* New krushmedia bid adapter (#1504)

* Invibes: Generic domainId parameter (#1512)

* Smarty ads adapter (#1500)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>

* Add vscode remote container development files (#1481)

* First commit (#1510)

Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>

* UOE-5616: Support wiid in pubmatic (#77)

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Vtrack and event endpoints (#1467)

* Rework pubstack module tests to remove race conditions (#1522)

* Rework pubstack module tests to remove race conditions

* PR feedback

* Remove event count and add helper methods to assert events received on channel

* Updating smartadserver endpoint configuration. (#1531)

Co-authored-by: tadam <tadam@smartadserver.com>

* Add new size 500x1000 (ID: 548) (#1536)

* Fix missing Request parameter for Adgeneration Adapter (#1525)

* Fix endpoint url for TheMediaGrid Bid Adapter (#1541)

* Add Account cache (#1519)

* Add bidder name key support (#1496)

* Simplifying exchange module: bidResponseExt gets built anyway (#1518)

* first draft

* Scott's feedback

* stepping out real quick

* add cache errors to bidResponseExt before marshalling

* Removed vim's swp file

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Correct GetCpmStringValue's second return value (#1520)

* Add metrics to capture stored data fetch all/delta durations with fetch status (#1515)

* Adds preferDeals support (#1528)

* OTT-29 Fixing Skip Dedup Map Issue

* Emxd 3336 add app video ctv (#1529)

* Adapter changes for app and video support

* adding ctv devicetype test case

* Adding whitespace

* Updates based on feedback from Prebid team

* protocol bug fix and testing

* Modifying test cases to accomodate new imp.ext field

* bidtype bug fix and additonal testcase for storeUrl

Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>

* Add http api for fetching accounts (#1545)

* Add missing postgres cache init config validation

* Acuity ads adapter (#1537)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>

* Yieldmo app support in yaml file (#1542)

Co-authored-by: Winston <wiston@yieldmo.com>

* Add metrics for account cache (#1543)

* OTT-29 Adding Video Duration in hb_pb_cat_dur key
OTT-29 Fixing Skip Dedup Map Issue

* OTT-9 Adding Duration in hb_pb_cat_dur field

* [Invibes] remove user sync for invibes (#1550)

* [invibes] new bidder stub

* [invibes] make request

* [invibes] bid request parameters

* [invibes] fix errors, add tests

* [invibes] new version of MakeBids

* cleaning code

* [invibes] production urls, isamp flag

* [invibes] fix parameters

* [invibes] new test parameter

* [invibes] change maintainer email

* [invibes] PR fixes

* [invibes] fix parameters test

* [invibes] refactor endpoint template and bidVersion

* [Invibes] fix tests

* [invibes] resolve PR

* [invibes] fix test

* [invibes] fix test

* [invibes] generic domainId parameter

* [invibes] remove invibes cookie sync

* [Invibes] comment missing Usersync

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* Add Support For imp.ext.prebid For DealTiers (#1539)

* Add Support For imp.ext.prebid For DealTiers

* Remove Normalization

* Add Accounts to http cache events (#1553)

* OTT-9 : (OTT-45) Added logger and prometheus metrics to capture bid.id collisions (#85)


* OTT-45: Added logger and Prometheus metrics to capture bid.id collisions (#84)
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Fix JSON tests ignore expected message field (#1450)

* NoBid version 1.0. Initial commit. (#1547)

Co-authored-by: Reda Guermas <reda.guermas@nobid.io>

* Added dealTierSatisfied parameters in exchange.pbsOrtbBid and openrtb_ext.ExtBidPrebid and dealPriority in openrtb_ext.ExtBidPrebid  (#1558)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* UOE-5745 changes for consuming rewarded inventory flag in PubMatic adapter

* Add client/AccountID support into Adoppler adapter. (#1535)

* Optionally read IFA value and add it the the request url (Adhese) (#1563)

* Add AMX RTB adapter (#1549)

* UOE-5745 adding a test input file for rewarded video case

* UOE-5745: removing commented code

* update Datablocks usersync.go (#1572)

* 33Across: Add video support in adapter (#1557)

* SilverMob adapter (#1561)

* SilverMob adapter

* Fixes andchanges according to notes in PR

* Remaining fixes:
multibids, expectedMakeRequestsErrors

* removed log

* removed log

* Multi-bid test

* Removed unnesesary block

Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>

* Updated ePlanning GVL ID (#1574)

* update adpone google vendor id (#1577)

* ADtelligent gvlid (#1581)

* Add account/ host GDPR enabled flags & account per request type GDPR enabled flags (#1564)

* Add account level request type specific and general GDPR enabled flags

* Clean up test TestAccountLevelGDPREnabled

* Add host-level GDPR enabled flag

* Move account GDPR enable check as receiver method on accountGDPR

* Remove mapstructure annotations on account structs

* Minor test updates

* Re-add mapstructure annotations on account structs

* Change RequestType to IntegrationType and struct annotation formatting

* Update comment

* Update account IntegrationType comments

* Remove extra space in config/accounts.go via gofmt

* DMX Bidfloor fix (#1579)

* adform bidder video bid response support (#1573)

* Fix Beachfront JSON tests (#1578)

* Add account CCPA enabled and per-request-type enabled flags (#1566)

* Add account level request-type-specific and general CCPA enabled flags

* Remove mapstructure annotations on CCPA account structs and clean up CCPA tests

* Adjust account/host CCPA enabled flag logic to incorporate feedback on similar GDPR feature

* Add shared privacy policy account integration data structure

* Refactor EnabledForIntegrationType methods on account privacy objects

* Minor test refactor

* Simplify logic in EnabledForIntegrationType methods

* Refactored HoldAuction Arguments (#1570)

* Fix bug in request.imp.ext Validation (#1575)

* First draft

* Brian's reivew

* Removed leftover comments

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>

* Updating import statements for v0.138.0 upgrade

* OTT-66 Selecting DealBids over Normal Bids for CTV Requests

* OTT-64: ctv auction module will now  populate hb_pb and hb_pb_cat_dur… (#89)

* OTT-64: ctv auction module will now  populate hb_pb and hb_pb_cat_dur (in case supportdeals=true)
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* OTT-67: Added functionality to prefer using actual video ad duration  (#90)

* OTT-67: Added functionality to prefer using video ad duration returned by the bidder.
If it is 0 or any error is occurred in determining it then the impression-level max duration value
will be used.

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* OTT-71: (CI) Add stats collecting information around the actual Ad duration (#93)

* OTT-71: added new metrics adapter_vidbid_dur

* OTT-71: Added new metric

* OTT-71: Reverted with master changes

* OTT-71: Added missing method in mock. Refatored testcase data structure

* OTT-71: Corrected unit tests and addressed code review comments

* OTT-71: Removed unwanted method and comment

* OTT-71: Corrected the comment

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* UOE-5690: Fixing merging issues

* UOE-5690 Fixing merging issues

* prebid-server v0.138 upgrade: fixing merging issue

* Prebid-upgrade Fixing test cases

* Prebid-server upgrade: removing unwanted files

* prebid-server upgrade: fixing formating issue

Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertixvost@gmail.com>
Co-authored-by: Steve Alliance <steve.alliance@gmail.com>
Co-authored-by: steve-a-districtm <steve@districtm.net>
Co-authored-by: Artur Aleksanyan <artur.aleksanyan89@gmail.com>
Co-authored-by: Brandon Ling <51931757+blingster7@users.noreply.github.com>
Co-authored-by: Richard Lee <14349+dlackty@users.noreply.github.com>
Co-authored-by: Simon Critchley <sicritchley@gmail.com>
Co-authored-by: Brian Sardo <1168933+bsardo@users.noreply.github.com>
Co-authored-by: tadam75 <adam.thomas@live.fr>
Co-authored-by: tadam <tadam@smartadserver.com>
Co-authored-by: SmartyAdman <59048845+SmartyAdman@users.noreply.github.com>
Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>
Co-authored-by: Marsel <marsel.taipov@kubient.com>
Co-authored-by: AaronColbyPrice <67345931+AaronColbyPrice@users.noreply.github.com>
Co-authored-by: Jurij Sinickij <jurij.sinickij@gmail.com>
Co-authored-by: logicad <ytsuchiya@so-netmedia.jp>
Co-authored-by: Daniel Barrigas <danielgbarrigas@gmail.com>
Co-authored-by: susyt <susan@fox.camp>
Co-authored-by: gpolaert <gpolaert@pubstack.io>
Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>
Co-authored-by: Vikram <vikramsinghchandel@users.noreply.github.com>
Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>
Co-authored-by: Adprime <64427228+Adprime@users.noreply.github.com>
Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>
Co-authored-by: Sachin Survase <sachin.survase@pubmatic.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>
Co-authored-by: Jurij Sinickij <jurij.sinickij@adform.com>
Co-authored-by: Rob Hazan <robhazan@gmail.com>
Co-authored-by: GammaSSP <35954362+gammassp@users.noreply.github.com>
Co-authored-by: Easy Life <ezlife.ga@gmail.com>
Co-authored-by: smithaammassamveettil <39389834+smithaammassamveettil@users.noreply.github.com>
Co-authored-by: Viral Vala <viral.vala@pubmatic.com>
Co-authored-by: hdeodhar <35999856+hdeodhar@users.noreply.github.com>
Co-authored-by: Bill Newman <huddled.masses1650@gmail.com>
Co-authored-by: Daniel Lawrence <Aether963@gmail.com>
Co-authored-by: rtuschkany <35923908+rtuschkany@users.noreply.github.com>
Co-authored-by: Alexey Elymanov <strangeqargo@gmail.com>
Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>
Co-authored-by: invibes <51820283+invibes@users.noreply.github.com>
Co-authored-by: aurel.vasile <vaurels@yahoo.com>
Co-authored-by: ucfunnel <39581136+ucfunnel@users.noreply.github.com>
Co-authored-by: Krushmedia <71434282+Krushmedia@users.noreply.github.com>
Co-authored-by: Kushneryk Pavel <levelup.kpi@gmail.com>
Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Dan Bogdan <43830380+EMXDigital@users.noreply.github.com>
Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>
Co-authored-by: AcuityAdsIntegrations <72594990+AcuityAdsIntegrations@users.noreply.github.com>
Co-authored-by: Winston <wiston@yieldmo.com>
Co-authored-by: redaguermas <redaguermas@gmail.com>
Co-authored-by: Reda Guermas <reda.guermas@nobid.io>
Co-authored-by: Nick Jacob <nickbjacob@gmail.com>
Co-authored-by: Aparna Rao <pr.aparna@gmail.com>
Co-authored-by: silvermob <73727464+silvermob@users.noreply.github.com>
Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>
Co-authored-by: Sergio <sergio.anru@gmail.com>

* Fixing merging issue with master

* OTT-71: Add stats collecting information around the actual Ad duration (#92)

OTT-71: Add stats collecting information around the actual Ad duration

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Update config.go (#105)

* Trimming PublisherId field

Co-authored-by: pm-viral-vala <63396712+pm-viral-vala@users.noreply.github.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>
Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertixvost@gmail.com>
C…
sachin-pubmatic added a commit to PubMatic-OpenWrap/prebid-server that referenced this pull request Feb 11, 2021
* OTT-64: Deal Prioritisation - Auction Model based issues (#101)

OTT-64: Deal Prioritisation - Auction Model based issues (#101)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* OTT-67: pwtdur key is showing wrong creative duration in case of AppNexus (#103)

OTT-67: Added functionality to prefer using video ad duration returned by the bidder.

Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>

* OTT-66: Ensure all/maximum deal bids are getting selected while building the final ad pod response (#102)

* OTT-66 Selecting DealBids over Normal Bids for CTV Requests

* Prebid server 0.138.0 (#96)

* replacing info@prebid.org maintainer email addrs (#1256)

* aligning maintainer info (#1258)

* Add kidoz bidder info (#1257)

got this info from email communication with kidoz

* Add Cropping of BAdv for Rubicon Adapter (#1254)

* Add Cropping of BAdv for Rubicon Adapter

BAdv size is limited to 50

* Fix after review

Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>

* Added metrics support to endpoint aspect (#1226)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Prebid Server adapter for Telaria (#1231)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* #615 Beachfront URLs from config (#1238)

* Add nil check errors when setting native asset types (#1260)

* Bugfix: no bids from bidder handling (#1252)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add missing categories to AppNexus -> IAB mapping file. (#1264)

* Add missing categories to AppNexus -> IAB mapping file.

* Remove entry for category 38 which was set to a primary IAB category instead of a sub-category.

* Fix order of category 22

* Yieldone s2s Bid Adapter (#1242)

* Added new Yieldone Bid s2s Adapter

* Update endpoint for yieldone bid adapter

* Fixes after review for Yieldone Bid s2s Adapter

* Fix typeo in Yieldone s2s Bid Adapter

* Fix: URL de sync (#1261)

* populate the app ID in the FAN timeout notif url with the publisher ID (#1265)

and the auction with the request ID

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* Added header User Agent decoding (#1268)

* Added header User Agent decoding

* Added header User Agent decoding: unit tests

* Added header User Agent decoding: unit tests

* Added check UA is encoded to avoid `+` converted to space

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Ad Generation Adapter Integration. (#1253)

* AdGeneration Integration.

* update AdGeneration adapter.
fix: some methods of the adgAdapter replace to functions.
fix: unmarshal functions return a pointer.
fix: header is defined once.
fix: return when imps is appended

* update AdGeneration Adapter.

add: Added a comment in usersync.
add: Added a test for parameters whose ID does not exist in params_test.
change: Change to query creation by net/url. Added getRawQuery Test.
fix: Changed variable names related to bidRequest.

* Fix Go 1.14 Error Message Changes (#1271)

* NinthDecimal Adapter (#1249)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* * Add PubMatic bidder doc file (#1255)

* Add app video capability to PubMatic bidder info file

* Appnexus adapter: Add category mapping for government. (#1278)

* Update a Freewheel mapping to Gaming category. (#1280)

* Add AJA adapter (#1269)

* OpenX adapter: Pass gdpr and gdpr_consent to user sync endpoint (#1282)

I've also updated the test to avoid any confusion.

* OpenX adapter: Enable video for app (#1281)

* fix conversant sync pixel (#1284)

* Add AdOcean adapter (#1273)

* [ADOCEAN-20132] AdOcean adapter

* [ADOCEAN-20132] AdOcean adapter - support for gdpr

* [ADOCEAN-20132] AdOcean adapter - tests

* [ADOCEAN-20132] AdOcean adapter - user sync

* [ADOCEAN-20132] AdOcean adapter - formatting

* [ADOCEAN-20132] AdOcean adapter - send uuid to emitter

* [ADOCEAN-20132] adocean adapter - return nil if there is no creative

* [ADOCEAN-20132] AdOcean adapter - add version parameter

* [ADOCEAN-20132] AdOcean adapter - optimization

* [ADOCEAN-20132] AdOcean adapter - add to syncer_test.go

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove whitespaces in js code on adapter initialization instead on every request
* check if request.Site is not nil
* reuse newUri variable

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* do not terminate the auction on a single faulty bid

* [ADOCEAN-20132] AdOcean adapter - changes after review:
* remove unnecessary input parameters check
* small optimization

* LunaMedia Adapter (#1285)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* [Sharethrough] Add CCPA support (#1263)

* Handle gzip responses from ad server correctly

* Bump to version 8

* [Go Modules] Add proxy (#1079)

* Add SSL cert for accessing stored request API (#1087)

* [misspell] fix a misspell (#1102)

* update static bidder params for rubicon video to follow the json marshalling names (#1100)

* Switching yieldmo auction endpoint from http to https (#1103)

* Add Datablocks Adapter (#1095)

* datablocks bid adapter

* ttx

* add test json

* add coverage

* redo ttx

* formatted

* better error handling

* additional tests and recomended fixes

* Adding translatecategories flag to includebrandcategory (#1098)

* Making IAB category translation optional with translatecategories boolean in request

* Updating exchange unit tests to remove extra bids

* Updates from code review comments

* Removed comment about default TranslateCategories value
* Changed translateCat to translateCategories in tests
* Combined helper functions in exchange_test related to TranslateCategories

* Bid floor (#1085)

* Currency handling fix (#1097)

* facebook adapter refactor (#1064)

* Kubient adapter (#1094)

* [synacormedia] Update user sync url to be https (#1115)

This detail was missed while setting up the adapter, but we would like to use https for the user sync.

* Remove Go 1.11 Build Target (#1109)

* Set "Secure" on Same SIte cookies (#1119)

* TripleliftNative Adapter (#1114)

* ignore swp files

* start small

* start really small

* add a user sync

* justify

* triplelift adapter

* add our endpoint

* fix syntax

* config stuff

* compiler fixes

* more config

* add params

* making progress

* make our ext more exty

* start making responses

* more logic

* fix compilation errors

* can we just nil this out?

* augment our json

* radically simplify our json

* fix errs

* infer the bid type

* fix syntax

* fix comilation errors

* rename

* fix compilation error

* config stuff

* simplify params

* more config stuff

* fixes

* revert this

* fix up the extension

* getting closer

* add a test

* update config

* update bidder params

* add the floor here, too

* add a usersync test

* validation, ws, and a test

* update tests

* fix test

* update email

* why not

* change email

* preprocess requests

* do some parsing

* take care of some errors

* floor is optional

* ws

* remove native

* everything is either banner or video

* this should be a float

* floor to floor

* fix compilation errors

* add some tests

* more tests

* more tests

* simplify

* more progress

* format

* ws

* rm

* don't need this

* fix test

* fix test

* don't ignore swap

* change line back

* report an error if there are no valid impressions for triplelift

* check for either a Banner or Video object on the impression

* more tests

* mv

* more tests

* update triplelift end point

* send native

* ws

* start changing tests

* fix more tests

* update config

* add redirect to triplelift usersync

* fix supplier id in triplelift_test

* update tl usersync endpoint and test

* fix tl supplier id in test json

* update usersync test template

* adjust inconsistency with test and sync url

* mv

* update packages

* mv

* mv

* update

* fix compilation errors

* rename

* rename some stuff

* rename

* rename

* fix some compilation errors

* ws

* ws

* add the extra info

* add some extra info

* add some files back

* ws and such

* updates

* ws

* fix compilation error

* mv

* rename

* Revert "rename"

This reverts commit 1b77c72e1eeee580148540fbdd880e70bf699709.

* Revert "mv"

This reverts commit 52a134ddfaf531fe6235e4751935d4266a36e78f.

* it builds

* cp a file

* cp another file

* fix a test

* fix test

* add the extra info

* ws

* add some logic

* edit comment

* it compiles

* this is now public

* call this

* add the function

* return nil

* seems to be working

* ws

* seems to be working

* ws

* mv

* starting to work

* ws

* add a new function

* ws

* fix tests

* bug fix

* update some stuff

* revert

* take out prints

* fix up diff

* fix up diff

* update ws

* fix

* ws

* omit the triplelift endppint

* Revert "omit the triplelift endppint"

This reverts commit 7abc3e46f0fbba39041da6fff7bb2335adc1fece.

* populate the endpoint through the extinfo

* ws

* set disabled to be default

* ws

* update types

* fixing tests

* making progres

* fix tests

* fix tests

* more fixes for tests

* fixed tests

* just use a comment

* get rid of endpoint

* restore endpoint

* add some errors around unmarshalling

* ws

* ws

* use the literal

* ws

* ws

* update json

* simplify

* ws

* restore tests

* fail fast when grabbing invcode

* use the right type

* use a different error type

* bump code coverage

* add a new test

* change error type

* ws

* break out test into its own function

* JSON block that has a full data-center specific URL cache info (#1104)

* Update Dockerfile and Makefile  (#1099)

* Add option for running tests as part of the docker image building

* Update Makefile

- Add ability to execute adapter specific tests
- Execute targets for "all" rather than just printing the target name and usage
- Remove use of non-existing "install" target from .PHONY targets
- Remove "build" as a dependency for "image"

* enable app requests for audience network (#1122)

* [docs] fix markdown title (#1124)

* Prometheus Refactor (#1108)

* update default sync url (#1127)

* Update sync url for BidderGrid adapter (#1120)

* [SonarCloud] Legacy auction endpoint (#1017)

* [currency converter] allow to deduce reverse rate (#1126)

This CL allows the currency rate currency to deduce a currency rate even
if not directly defined in the table but the reverse rate is present.

E.q.

USD => EUR is 1.0897
EUR => USD is not set

Old behavior when asking rate from EUR to USD will not be found,
New behavior is using the known reverse rate to deduce the rate.

Rate for 2 USD will be 2 * (1 / 1.0897)

* Updated handleError arguments to be pointers for video endpoint (#1128)

* Updated handleError arguments to be pointers for video endpoint

* Removing unneeded pointer to http.ResponseWriter

* Adding units test for update to handleError

* Revert changes to GetExtCacheData() made in #1104 (#1130) (#1131)

* Better native request validation (#1132)

* require the caller to define native assets[...].ID (#1123)

* require the caller to define native assets[...].ID

* Update assets-with-partial-ids.json

* CCPA Phase 1: AMP Endpoint (#1125)

* facebook: removed Auth-Token from header (replaced by authentication_id in the request body) (#1113)

* Setuid Fix (#1121)

* Update http refresh to use url builder. Fixes #1065 (#1133)

* Add mapping of user.ext.eids[] for LiveIntent in Rubicon bidder (#1089)

* support facebook app_secret config param (#1139)

* CCPA Phase 1: Cookie Sync (#1135)

* null check banner.h (#1142)

* Add Pubnative Adapter (#1134)

* Adding the passing of CCPA value to the bid request for video endpoint (#1143)

* first draft (#1137)

* CCPA Phase 2: Enforcement (#1138)

* Gamoshi Adapter: Update cookie sync (#1146)

* Simplify static/bidder-params/triplelift_native.json (#1152)

* Added US Privacy support in TheMediaGrid server adapter (#1147)

* Add TheMediaGrid server adapter

* Add video support in TheMediaGrid s2s adapter

* Update sync url for TheMediaGrid s2s adapter

* Added CCPA support for TheMediaGrid s2s adapter

* Fix sync url for TheMediaGrid adapter

* CCPA User Sync Updates (#1153)

* Marsmedia - add new bidder (#1118)

* Add Applogy adapter (#1151)

* enforce video.size_id for video imps in rubicon adapter (#1101)

* Updated PubMatic endpoint to use https (#1155)

* Update Example AppNexus Placement ID (#1160)

* Fix Currency Converter Doesn't Output CUR (#1154)

* Add custom JSON req/resp data to the analytics logging… (#1145)

* Add custom JSON req/resp data to the analytics logging for the /openrtb2/video endpoint.

* Add calls in unit tests to cover logging and jsonify of video object.

* CCPA User Sync URL Updates (#1157)

* Fixes audienceNetwork adapter ignoring banner.format sizes. (#1164)

* adding yieldmo vendor id to usersync (#1166)

* Add SmartRTB adapter (#1071)

* Added new adapter for CPMStar ad network banners and video (#1159)

* Update the Conversant sync pixel (#1161)

* Add imp.ext.is_rewarded_inventory flag for rewarded video in Rubicon (#1170)

* [currencies] fix GetInfo() null ref issue (#1169)

This CL fixes the null ref on `RateConverter.GetInfo()` when rates
are nil. Issue: #1136

* Fix triplelift User Sync (#1173)

* Enhance Message For Cache Errors (#1175)

* Fix PubMatic Usersync URL (#1178)

Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>

* [Synacormedia] Add tagId bidder parameter (#1165)

* Remove all non-secure calls from eplanning adapter (#1179)

* Expose Cache HTTP Settings (#1184)

* Adding bid rejection messages to debug response (#1181)

* Adds timeout notifications for Facebook (#1182)

* VIS.X: added app type support (#1194)

* Add Adoppler bidder support. (#1186)

* Add Adoppler bidder support.

* Address code review comments. Use JSON-templates for testing.

* Fix misprint; Add url.PathEscape call for adunit URL parameter.

* Adding support for deal prefixes (#1183)

* updating default hard-coded list of certs (#1201)

Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>

* add admixer adapter (#1195)

* Adding copying of gdpr consent string to openrtb bid request (#1189)

* Adding copying of gdpr consent string to openrtb bid request

* Updated video request to use OpenRTB Video and User objects

* Fixing unit test failure message

* Updates from code review comments

* Updating unit test initialization

* Updated mimes array construction

* fix conversant sync pixel (#1208)

* openx adapter: forward bid response currency in openx adapter if set (#1211)

it was always set to the default USD before

* add ucfunnel adapter (#1192)

* Update required params for TheMediaGrid adapter (#1188)

* add zeroclickfraud adapter (#1207)

* add zeroclickfraud adapter

* fixes for PR

* fix casing of Zeroclickfraud

* Fix Adform's parameters regex (#1214)

* Added adform info file

* Added Adform adapter and bidder

* Updates from master

* Removed usersyncInfo from Adform adapter. Inverted Imp type check.

* Removed excessive loop

* Updated with the last master

* Create readme file for adform

* Fix Adform's parameters regex

Motivation: catastrophic backtracking during regex execution

Details:
- https://regex101.com/r/NNQrWq/1
- string to check "url_domain:keskustelu.suomi24.fi,url_path:/matkailu/matkakohteet/aasia,layout:lg,categories:Matkailu,main_category:Matkailu"

Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>

* If Device.UA is not present in request body, init it with user-agent from header (#1219)

* If Device.UA is not present in request body, init it with user-agent from request header if it's present

* Moved User-Agent handler to parseVideoRequest func and added unit test

* Minor clean up

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Queued request timeout (#1217)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* docs: adding currency support section (#1199)

* Add ValueImpression Adapter (#1204)

* Kidoz adapter (#1210)

Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>

* Update auction.md (#1224)

Fix type

* Update auction.md (#1225)

Fix typo.

* Added logging to cache for video endpoint (#1220)

* WIP added logging to cache for video endpoint

* Updating cache call to use TTL from config

* Updates from initial feedback
* Log now includes HTTP headers
* Fixed caching to use a new cache entry rather than appending to the
VAST
* Added feature where is query is set, the test flag is set in the
request

* Updated recorded response and handleError

* Updates from code review comments

* Changed recorded output to be only the debug ext
* Removed extra marhal calls
* Changed cache to be an endpoint dependency
* Added debugLog struct to hold all debug related info
* Numerous smaller changes

* Further code cleanup and added unit tests for debug changes

* Added missing error checks

* Added unit test for error case

* added VISX vendor ID for usersyncing (#1229)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* First pass at phase 1 TCF 2.0 support (#1228)

* First pass at phase 1 TCF 2.0 support

* minor fixes

* Update go-gdpr library and fix stuff

* Fixes for PR comments

* Updated price granularity unmarshal to accept empty values and ranges (#1230)

* Update vendorID for TheMediaGrid s2s Bid Adapter (#1232)

* treat 204 from FAN as a no bids response (#1233)

Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>

* AMP CCPA Fix (#1187)

* Update rubicon.md (#1234)

* adding schain interface (#1203)

* added Rewarded Video section (#1200)

also edited all examples so they include the full openRTB context

* nanointeractive adapter (#1213)

* nanointeractive adapter

* nanointeractive adapter, changes after review

* nanointeractive adapter

* nanointeractive adapter, changes after review

* formatting

* Typos Fix (#1236)

* Fix Typo

* Fixed More Typos

* Moved hb_pc_cat_dur modification to be before caching (#1250)

* Handle CCPA + enable gzip response

[#169984259]

* Addressing review (#273)

[#169984259]

* Remove custom gzip logic  (#280)

* Getting rid of custom gzip logic

[#169984259]

* Restore prod ad server url

[#169984259]

Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>

* Remove Outdated GDPR AMP Special Case (#1283)

* Stricter Privacy Scrubbing (#1286)

* Stricter Privacy Scrubbing

* Update Unit Test Style

* Fixed Whitespace

* Add Adapter Orbidder (#1275)

Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: rvolk <>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>

* Added OpenX Bidder adapter documentation (#1291)

* OpenX adapter: Pass rewarded video flag (#1290)

* Bugfix for missing fields in imp.video (#1297)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Add cpmOverride (#1289)

* Add cpmOverride

Enabled `request.ext.rubicon.debug.cpmOverride` and `request.imp[].ext.rubicon.debug.cpmOverride` processing.
Updates tests

* Remove unnecessary error checks and add shallow copy

* Fixed same pointer

* Add Beintoo adapter (#1274)

* Add Beintoo adapter

* Yeahmobi adapter (#1279)

Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>

* advangelists: Vendor id update (#1307)

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Consumable: Support GDPR and US Privacy consent (#1300)

* Restore the AMP privacy exception as an option. (#1311)

* Restore the AMP privacy exception as an option.

* Adds missing test case

* More PR feedback

* Remove unused constant

* Comment tweak

* consumable: Correct GDPR vendor ID to 591. (#1309)

fixes #1299.

* VIS.X: fix bid.ID, bid.CrID and set default currency value (#1296)

* Fix debug log error messages (#1270)

* Fixing missing error messages for debug logging

* Updated formatting of debug log message

* Updated unit tests for debug log to have test flag enabled

* Cleaned up debug log implementation

* Updates from review comments

* Cleaned up field and function names
* Added replacer for <> characters
* Added cache string unit test

* Moved regex from function to struct field

* Moved debug regex to endpoint deps

* Moving regex initialization to NewVideoEndpoint

* MobileFuse Adapter (#1303)

Co-authored-by: Dan Barnett <danb@mobilefuse.com>

* eplanning: Support for apps (#1306)

* Introduce Adhese adapter (#1292)

Co-authored-by: Mateusz <mateusz@adhese.eu>

* privacy: Potential JSON injection (#1304)

* Updating bidder params for Advangelists (#1316)

* Updating placement info on bidder params

Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>

* Change placement of cpmoverride for Rubicon (#1310)

* increasing the stale period to 2 months (#1305)

* Add Go 1.14 Build Target (#1314)

* Privacy: Remove user.ext.eids (#1294)

* Privacy: Remove user.ext.eids

* Extract To A Method

* Minor Refactor + More Tests

* Performance Tweak

* Removed some redundant methods (#1320)

* TELARIA adapter. First Pass

* Some refactoring

* added the json files

* fixed some tests and added the bidder info

* fixed some tests and added the bidder info

* added default user sync ur;

* - Handling gzipped responses from our server

* - more refactoring.

* added the proper user sync default URL

* changed the urls from dev to prod

* changed up the required fields. Now AdCode in the Imp.Ext isn't required but Bid.SeatCode is required

* change in the return type after decompressing

* some refactoring

* change in our config url

* using pbs.yml to switch between our production and test URLs

* setting default endpoint

* - fixed the issue that was preventing telaria test cases to run.
- added more test cases

* - Modifications as per the changes requested by the maintainers.

* Moved the seat code to imp.ext

* Moved the seat code to imp.ext

* Added 'Telaria: ' prefix for error messages

* - Fixes for race conditions. Was modifying the original request object instead of a copy

* cosmetic changes.

* added params_test.go

* Removed some redundant methods.

* Removed a comment

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Beachfront: GDPR id (issue 1301) and documentation updates (#1321)

* Defined cookie sync URL in config, cleared deprecated comment in usersync

* Update beachfront.md

* editing documentation

* updated gdpr id - issue 1301

* Add Yieldlab Adapter (#1287)

Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Signed-off-by: Alex Klinkert <alex@klinkert.io>

Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>

* Update adtelligent ortb endpoint (#1318)

* Change on eplanning endpoint (#1327)

* Enable full TCF2 support (#1302)

* New config options

* Enble TCF2 fields and logic

* Resolves some PR comments

* More tests

* gofmt

* Added enforcement tests for split GDPR/GDPRGeo

* Testing tweaks

* No longer ignore enforce purpose 1 on allowSync()

* Removes Purpose 4

* Change on eplanning endpoint (hostname) (#1328)

* Districtm Dmx: new adapter  (#1209)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Fix sync url for Yieldone s2s Bid Adapter (#1336)

* Fix typo in Yieldone sync url

* CCPA Video Bug (#1333)

* Add Pubnative bidder documentation (#1340)

* Timeout notification monitoring and debugging (#1322)

* Add Adtarget server adapter (#1319)

* Add Adtarget server adapter

* Suggested changes for Adtarget

* Update Auction OpenRTB Sample (#1342)

* Update Auction OpenRTB Sample

* Removed Extra "Or"

* Triplelift: Add SRA Support (#1347)

* Privacy: Limit Ad Tracking (#1334)

* Avoid overriding AMP request original size with mutli-size (#1352)

* Extra logging for timeout notifications (#1349)

* Consumable: Correct bid type, should always be "banner". (#1359)

* Build With Go 1.14 (#1350)

* Category mapping changes from product team. (#1348)

* Adds Avocet adapter (#1354)

* AdOcean adapter - Support for sizes defined in prebid configuration. (#1339)

support for multiple sizes

bump version to 1.1.0

* Log account id and all bidder names when recovering from OpenRTB auction bidder… (#1358)

* Adding Smartadserver adapter (#1346)

Co-authored-by: tadam <tadam@smartadserver.com>

* Added additional Ext Param (#1357)

Co-authored-by: Vinay Prasad <vprasad@telaria.com>

* Adman adapter (#1356)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* PBS-632 add max connections per host config setting to general http a… (#1366)

* Add ext.bidder.zoneid for Kubient adapater (#1367)

* Add ext.bidder.zoneid for Kubient adapater

* Check the number of Imps. zoneid is optional.

* Improved IPv6 Support + Private Network Filtering (#1362)

* Change endpont address (#1370)

* Adman adapter

* add adman line to syner test

* add tests

* fix issues

* fix web banner test

* add 404 banner

* fmt

* rase coverage

* del redundant files

* change endpont address

* change config endpoint

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Don't override test parameter (#1373)

* OpenX + Facebook Hardening (#1368)

* Updating Conversant endpoint url (#1376)

* Metrics for TCF 2 adoption (#1360)

* Fall back to constant rates when the currency rates endpoint i… (#1364)

* TheMediaGrid: added app type support (#1377)

* user.ext.eids support in adform adapter (#1381)

* Add Logicad adapter (#1382)

* Fix Previous Merge Conflict (#1392)

* Kubient: Change default endpont address (#1398)

* Add support for multiple root schain nodes (#1374)

* Update endpoint for latest release by districtm (#1401)

Co-authored-by: steve-a-districtm <steve@districtm.net>

* Set OpenRTB DNT From HTTP Header (#1397)

* Add video for InApp support (#1399)

* Timeout fix (#1390)

* Privacy Request Metrics (#1400)

* Privacy Request Metrics

* Fix Bug + Add Unit Tests

* Fixed Tests

* Fix Typo

* Parse Site.Publisher.ID from Amp Auction HTTP Req Query Parameter "account" (#1403)

* Facebook Only Supports App Impressions (#1396)

* fix: Change currency of ad-generation's bidResponse according to bidRequest (#1383)

* Adding primary categories to freewheel mapping (#1407)

* Add Outgoing Connection Metrics (#1343)

* Pubmatic: Support for video duration and primary category (#1384)

* Adding suport for video duration and primary category in pubmatic adapter

* Adding code review changes for PR-1384

* Adding changes for syntaxNode suggestion

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Add IPv6 Non-Public Network (#1417)

* GumGum: adds support for video (#1408)

* OpenX adapter: pass optional platform (PBID-598) (#1421)

* Adds keyvalue hb_format support (#1414)

* feat: Add new logger module - Pubstack Analytics Module (#1331)

* Pubstack Analytics V1 (#11)

* V1 Pubstack (#7)

* feat: Add Pubstack Logger (#6)

* first version of pubstack analytics

* bypass viperconfig

* commit #1

* gofmt

* update configuration and make the tests pass

* add readme on how to configure the adapter and update the network calls

* update logging and fix intake url definition

* feat: Pubstack Analytics Connector

* fixing go mod

* fix: bad behaviour on appending path to auction url

* add buffering

* support bootstyrap like configuration

* implement route for all the objects

* supports termination signal handling for goroutines

* move readme to the correct location

* wording

* enable configuration reload + add tests

* fix logs messages

* fix tests

* fix log line

* conclude merge

* merge

* update go mod

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix duplicated channel keys

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* first pass - PR reviews

* rename channel* -> eventChannel

* dead code

* Review (#10)

* use json.Decoder

* update documentation

* use nil instead []byte("")

* clean code

* do not use http.DefaultClient

* fix race condition (need validation)

* separate the sender and buffer logics

* refactor the default configuration

* remove error counter

* Review GP + AR

* updating default config

* add more logs

* remove alias fields in json

* fix json serializer

* close event channels

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* fix race condition

* first pass (pr reviews)

* refactor: store enabled modules into a dedicated struct

* stop goroutine

* test: improve coverage

* PR Review

* Revert "refactor: store enabled modules into a dedicated struct"

This reverts commit f57d9d61680c74244effc39a5d96d6cbb2f19f7d.

# Conflicts:
#	analytics/config/config_test.go

Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>

* New bid adapter for Smaato (#1413)

Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>

* New Adprime adapter (#1418)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* Separate "debug" behavior from "billable" behavior (#1387)

* Remove redundad struct (#1432)

* Tcf2 id support (#1420)

* Default TCF1 GVL in anticipation of IAB no longer hosting the v1 GVL (#1433)

* update to the latest go-gdpr release (#1436)

* Video endpoint bid selection enhancements (#1419)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* [WIP] Bid deduplication enhancement (#1430)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Refactor rate converter separating scheduler from converter logic to improve testability (#1394)

* Fix TCF1 Fetcher Fallback (#1438)

* UOE-5440: Changes for capturing Pod algorithm execution time using pbmetrics (#65)

* Added function getPrometheusRegistry()

* Exported function GetPrometheusRegistry

* UOE-5440: Capturing execution time in nanoseconds for algorithms

* UOE-5440: Changes for prometheus algorithem metrics for pod using pbsmetrics

* UOE-5440: Test cases for prometheus

* UOE-5440: Added test cases

* UOE-5440: Changing buckets

* UOE-5440: changes in pbsmetrics for newly added metrics

Co-authored-by: Sachin Survase <sachin.survase@pubmatic.com>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* UOE-5440: Fixed the Unit test issues (#72)

Fixed unit test issues 
Co-authored-by: Sachin Survase <sachin.survase@pubmatic.com>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Eplanning adapter: Get domain from page (#1434)

* Fix no bid debug log (#1375)

* Update the fallback GVL to last version (#1440)

* UOE-5511 Support for skadnetwork in pubmatic (#73)

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Enable geo activation of GDPR flag (#1427)

* Validate External Cache Host  (#1422)

* first draft

* Little tweaks

* Scott's review part 1

* Scott's review corrections part 2

* Scotts refactor

* correction in config_test.go

* Correction and refactor

* Multiple return statements

* Test case refactor

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Fixes bug (#1448)

* Fixes bug

* shortens list

* Added adpod_id to request extension (#1444)

* Added adpod_id to request -> ext -> appnexus and modified requests splitting based on pod

* Unit test fix

* Unit test fix

* Minor unit test fixes

* Code refactoring

* Minor code and unit tests refactoring

* Unit tests refactoring

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* Adform adapter: additional targeting params added (#1424)

* Fix minor error message spelling mistake "vastml" -> "vastxml" (#1455)

* Fixing comment for usage of deal priority field (#1451)

* moving docs to website repo (#1443)

* Fix bid dedup (#1456)

Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>

* consumable: Correct width and height reported in response. (#1459)

Prebid Server now responds with the width and height specified in
the Bid Response from Consumable. Previously it would reuse the width
and height specified in the Bid Request. That older behaviour was
ported from an older version of the prebid.js adapter but is no longer
valid.

* Panics happen when left with zero length []Imp (#1462)

* Add Scheme Option To External Cache URL (#1460)

* Update gamma adapter (#1447)

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* Update gamma.go

* Update config.go

Remove Gamma User Sync Url from config

* Gamma SSP Adapter

* Add Gamma SSP server adapter

* increase coverage

* Fix conflict with base master

* Add check MediaType for Imp

* Implement  Multi Imps request

* Changes requested

* remove bad-request

* increase coverage

* Remove duplicate test file

* Update gamma.go

* Update gamma.go

* update gamma adapter

* return nil when have No-Bid Signaling

* add missing-adm.json

* discard the bid that's missing adm

* discard the bid that's missing adm

* escape vast instead of encoded it

* expand test coverage

Co-authored-by: Easy Life <ezlife.ga@gmail.com>

* fix: avoid unexpected EOF on gz writer (#1449)

* Smaato adapter: support for video mediaType (#1463)

Co-authored-by: vikram <vikram.chandel@smaato.com>

* Resolved merge issues

* Rubicon liveramp param (#1466)

Add liveramp mapping to user.ext

should translate the "liveramp.com" id from the "user.ext.eids" array to "user.ext.liveramp_idl" as follows:

```
{
  "user": {
    "ext": {
      "eids": [{
        "source": 'liveramp.com',
        "uids": [{
          "id": "T7JiRRvsRAmh88"
        }]
      }]
    }
  }
}
```

 to XAPI:
```
{
  "user": {
    "ext": {
      "liveramp_idl": "T7JiRRvsRAmh88"
    }
  }
}
```

* Consolidate StoredRequest configs, add validation for all data types (#1453)

* Fix Test TestEventChannel_OutputFormat (#1468)

* Add ability to randomly generate source.TID if empty and set publisher.ID to resolved account ID (#1439)

* Add support for Account configuration (PBID-727, #1395) (#1426)

* Minor changes to accounts test coverage (#1475)

* Brightroll adapter - adding config support (#1461)

* Refactor TCF 1/2 Vendor List Fetcher Tests (#1441)

* BugID:OTT-17 First Commit

* Add validation checker for PRs and merges with github actions (#1476)

* Cache refactor (#1431)

Reason: Cache has Fetcher-like functionality to handle both requests and
imps at a time. Internally, it still uses two caches configured and searched
separately, causing some code repetition. Reusing this code to cache
other objects like accounts is not easy.

Keeping the req/imp repetition in fetcher and out of cache allows for a
reusable simpler cache, preserving existing fetcher functionality.

Changes in this set:

Cache is now a simple generic id->RawMessage store
fetcherWithCache handles the separate req and imp caches
ComposedCache handles single caches - but it does not appear to be used
Removed cache overlap tests since they do not apply now
Slightly less code

* Pass Through First Party Context Data (#1479)

* Added new size 640x360 (Id: 198) (#1490)

* Refactor: move getAccount to accounts package (from openrtb2) (#1483)

* OTT-18: moved VideoAuction to selector pattern. This  required for mocking PBS response (#76)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Fixed TCF2 Geo Only Enforcement (#1492)

* New colossus adapter [Clean branch] (#1495)

Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>

* New: InMobi Prebid Server Adapter (#1489)

* Adding InMobi adapter

* code review feedback, also explicitly working with Imp[0], as we don't support multiple impressions

* less tolerant bidder params due to sneaky 1.13 -> 1.14+ change

* Revert "Added new size 640x360 (Id: 198) (#1490)" (#1501)

This reverts commit fa23f5c226df99a9a4ef318100fdb7d84d3e40fa.

* CCPA Publisher No Sale Relationships (#1465)

* Fix Merge Conflict (#1502)

* Update conversant adapter for new prebid-server interface (#1484)

* Implement returnCreative (#1493)

* Working solution

* clean-up

* Test copy/paste error

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* OTT-24: Basic support for sorting the deal bids in forming the final ad pod response

* ConnectAd S2S Adapter (#1505)

* between adapter (#1437)

Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>

* Invibes adapter (#1469)

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* OTT-24: Added changes around https://github.com/prebid/prebid-server/issues/1503 (Proposal for Prebid Server)

* Refactor postgres event producer so it will run either the full or de… (#1485)

* Refactor postgres event producer so it will run either the full or delta query periodically

* Minor cleanup, follow golang conventions, declare const slice, add test cases

* Remove comments

* Bidder Uniqueness Gatekeeping Test (#1506)

* OTT-27, OTT-32 Supporting Deal Prioritization for CTV

* ucfunnel adapter update end point (#1511)

* Refactor EEAC map to be more in line with the nonstandard publisher map (#1514)

* Added bunch of new sizes (#1516)

* New krushmedia bid adapter (#1504)

* Invibes: Generic domainId parameter (#1512)

* Smarty ads adapter (#1500)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>

* Add vscode remote container development files (#1481)

* First commit (#1510)

Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>

* UOE-5616: Support wiid in pubmatic (#77)

Co-authored-by: Isha Bharti <isha.bharti@pubmatic.com>

* Vtrack and event endpoints (#1467)

* Rework pubstack module tests to remove race conditions (#1522)

* Rework pubstack module tests to remove race conditions

* PR feedback

* Remove event count and add helper methods to assert events received on channel

* Updating smartadserver endpoint configuration. (#1531)

Co-authored-by: tadam <tadam@smartadserver.com>

* Add new size 500x1000 (ID: 548) (#1536)

* Fix missing Request parameter for Adgeneration Adapter (#1525)

* Fix endpoint url for TheMediaGrid Bid Adapter (#1541)

* Add Account cache (#1519)

* Add bidder name key support (#1496)

* Simplifying exchange module: bidResponseExt gets built anyway (#1518)

* first draft

* Scott's feedback

* stepping out real quick

* add cache errors to bidResponseExt before marshalling

* Removed vim's swp file

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>

* Correct GetCpmStringValue's second return value (#1520)

* Add metrics to capture stored data fetch all/delta durations with fetch status (#1515)

* Adds preferDeals support (#1528)

* OTT-29 Fixing Skip Dedup Map Issue

* Emxd 3336 add app video ctv (#1529)

* Adapter changes for app and video support

* adding ctv devicetype test case

* Adding whitespace

* Updates based on feedback from Prebid team

* protocol bug fix and testing

* Modifying test cases to accomodate new imp.ext field

* bidtype bug fix and additonal testcase for storeUrl

Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>

* Add http api for fetching accounts (#1545)

* Add missing postgres cache init config validation

* Acuity ads adapter (#1537)

Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>

* Yieldmo app support in yaml file (#1542)

Co-authored-by: Winston <wiston@yieldmo.com>

* Add metrics for account cache (#1543)

* OTT-29 Adding Video Duration in hb_pb_cat_dur key
OTT-29 Fixing Skip Dedup Map Issue

* OTT-9 Adding Duration in hb_pb_cat_dur field

* [Invibes] remove user sync for invibes (#1550)

* [invibes] new bidder stub

* [invibes] make request

* [invibes] bid request parameters

* [invibes] fix errors, add tests

* [invibes] new version of MakeBids

* cleaning code

* [invibes] production urls, isamp flag

* [invibes] fix parameters

* [invibes] new test parameter

* [invibes] change maintainer email

* [invibes] PR fixes

* [invibes] fix parameters test

* [invibes] refactor endpoint template and bidVersion

* [Invibes] fix tests

* [invibes] resolve PR

* [invibes] fix test

* [invibes] fix test

* [invibes] generic domainId parameter

* [invibes] remove invibes cookie sync

* [Invibes] comment missing Usersync

Co-authored-by: aurel.vasile <vaurels@yahoo.com>

* Add Support For imp.ext.prebid For DealTiers (#1539)

* Add Support For imp.ext.prebid For DealTiers

* Remove Normalization

* Add Accounts to http cache events (#1553)

* OTT-9 : (OTT-45) Added logger and prometheus metrics to capture bid.id collisions (#85)


* OTT-45: Added logger and Prometheus metrics to capture bid.id collisions (#84)
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Fix JSON tests ignore expected message field (#1450)

* NoBid version 1.0. Initial commit. (#1547)

Co-authored-by: Reda Guermas <reda.guermas@nobid.io>

* Added dealTierSatisfied parameters in exchange.pbsOrtbBid and openrtb_ext.ExtBidPrebid and dealPriority in openrtb_ext.ExtBidPrebid  (#1558)

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* UOE-5745 changes for consuming rewarded inventory flag in PubMatic adapter

* Add client/AccountID support into Adoppler adapter. (#1535)

* Optionally read IFA value and add it the the request url (Adhese) (#1563)

* Add AMX RTB adapter (#1549)

* UOE-5745 adding a test input file for rewarded video case

* UOE-5745: removing commented code

* update Datablocks usersync.go (#1572)

* 33Across: Add video support in adapter (#1557)

* SilverMob adapter (#1561)

* SilverMob adapter

* Fixes andchanges according to notes in PR

* Remaining fixes:
multibids, expectedMakeRequestsErrors

* removed log

* removed log

* Multi-bid test

* Removed unnesesary block

Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>

* Updated ePlanning GVL ID (#1574)

* update adpone google vendor id (#1577)

* ADtelligent gvlid (#1581)

* Add account/ host GDPR enabled flags & account per request type GDPR enabled flags (#1564)

* Add account level request type specific and general GDPR enabled flags

* Clean up test TestAccountLevelGDPREnabled

* Add host-level GDPR enabled flag

* Move account GDPR enable check as receiver method on accountGDPR

* Remove mapstructure annotations on account structs

* Minor test updates

* Re-add mapstructure annotations on account structs

* Change RequestType to IntegrationType and struct annotation formatting

* Update comment

* Update account IntegrationType comments

* Remove extra space in config/accounts.go via gofmt

* DMX Bidfloor fix (#1579)

* adform bidder video bid response support (#1573)

* Fix Beachfront JSON tests (#1578)

* Add account CCPA enabled and per-request-type enabled flags (#1566)

* Add account level request-type-specific and general CCPA enabled flags

* Remove mapstructure annotations on CCPA account structs and clean up CCPA tests

* Adjust account/host CCPA enabled flag logic to incorporate feedback on similar GDPR feature

* Add shared privacy policy account integration data structure

* Refactor EnabledForIntegrationType methods on account privacy objects

* Minor test refactor

* Simplify logic in EnabledForIntegrationType methods

* Refactored HoldAuction Arguments (#1570)

* Fix bug in request.imp.ext Validation (#1575)

* First draft

* Brian's reivew

* Removed leftover comments

Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>

* Updating import statements for v0.138.0 upgrade

* OTT-66 Selecting DealBids over Normal Bids for CTV Requests

* OTT-64: ctv auction module will now  populate hb_pb and hb_pb_cat_dur… (#89)

* OTT-64: ctv auction module will now  populate hb_pb and hb_pb_cat_dur (in case supportdeals=true)
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* OTT-67: Added functionality to prefer using actual video ad duration  (#90)

* OTT-67: Added functionality to prefer using video ad duration returned by the bidder.
If it is 0 or any error is occurred in determining it then the impression-level max duration value
will be used.

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* OTT-71: (CI) Add stats collecting information around the actual Ad duration (#93)

* OTT-71: added new metrics adapter_vidbid_dur

* OTT-71: Added new metric

* OTT-71: Reverted with master changes

* OTT-71: Added missing method in mock. Refatored testcase data structure

* OTT-71: Corrected unit tests and addressed code review comments

* OTT-71: Removed unwanted method and comment

* OTT-71: Corrected the comment

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* UOE-5690: Fixing merging issues

* UOE-5690 Fixing merging issues

* prebid-server v0.138 upgrade: fixing merging issue

* Prebid-upgrade Fixing test cases

* Prebid-server upgrade: removing unwanted files

* prebid-server upgrade: fixing formating issue

Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertixvost@gmail.com>
Co-authored-by: Steve Alliance <steve.alliance@gmail.com>
Co-authored-by: steve-a-districtm <steve@districtm.net>
Co-authored-by: Artur Aleksanyan <artur.aleksanyan89@gmail.com>
Co-authored-by: Brandon Ling <51931757+blingster7@users.noreply.github.com>
Co-authored-by: Richard Lee <14349+dlackty@users.noreply.github.com>
Co-authored-by: Simon Critchley <sicritchley@gmail.com>
Co-authored-by: Brian Sardo <1168933+bsardo@users.noreply.github.com>
Co-authored-by: tadam75 <adam.thomas@live.fr>
Co-authored-by: tadam <tadam@smartadserver.com>
Co-authored-by: SmartyAdman <59048845+SmartyAdman@users.noreply.github.com>
Co-authored-by: Aiholkin <artem.iholkin@smartyads.com>
Co-authored-by: Marsel <marsel.taipov@kubient.com>
Co-authored-by: AaronColbyPrice <67345931+AaronColbyPrice@users.noreply.github.com>
Co-authored-by: Jurij Sinickij <jurij.sinickij@gmail.com>
Co-authored-by: logicad <ytsuchiya@so-netmedia.jp>
Co-authored-by: Daniel Barrigas <danielgbarrigas@gmail.com>
Co-authored-by: susyt <susan@fox.camp>
Co-authored-by: gpolaert <gpolaert@pubstack.io>
Co-authored-by: Amaury Ravanel <amaury.ravanel@gmail.com>
Co-authored-by: Vikram <vikramsinghchandel@users.noreply.github.com>
Co-authored-by: vikram <vikram.chandel@smaato.com>
Co-authored-by: Stephan <s@brosinski.com>
Co-authored-by: Adprime <64427228+Adprime@users.noreply.github.com>
Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>
Co-authored-by: Sachin Survase <sachin.survase@pubmatic.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-170.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-12-23.nym2.appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@Guss-MacBook-Pro.local>
Co-authored-by: Jurij Sinickij <jurij.sinickij@adform.com>
Co-authored-by: Rob Hazan <robhazan@gmail.com>
Co-authored-by: GammaSSP <35954362+gammassp@users.noreply.github.com>
Co-authored-by: Easy Life <ezlife.ga@gmail.com>
Co-authored-by: smithaammassamveettil <39389834+smithaammassamveettil@users.noreply.github.com>
Co-authored-by: Viral Vala <viral.vala@pubmatic.com>
Co-authored-by: hdeodhar <35999856+hdeodhar@users.noreply.github.com>
Co-authored-by: Bill Newman <huddled.masses1650@gmail.com>
Co-authored-by: Daniel Lawrence <Aether963@gmail.com>
Co-authored-by: rtuschkany <35923908+rtuschkany@users.noreply.github.com>
Co-authored-by: Alexey Elymanov <strangeqargo@gmail.com>
Co-authored-by: Alexey Elymanov <elymanov@betweenx.com>
Co-authored-by: invibes <51820283+invibes@users.noreply.github.com>
Co-authored-by: aurel.vasile <vaurels@yahoo.com>
Co-authored-by: ucfunnel <39581136+ucfunnel@users.noreply.github.com>
Co-authored-by: Krushmedia <71434282+Krushmedia@users.noreply.github.com>
Co-authored-by: Kushneryk Pavel <levelup.kpi@gmail.com>
Co-authored-by: Kushneryk Pavlo <pavel.k@smartyads.com>
Co-authored-by: user <support@smartyads.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@appnexus.com>
Co-authored-by: Gus Carreon <gcarreongutierrez@vpn-10-75-10-44.nym2.appnexus.com>
Co-authored-by: Dan Bogdan <43830380+EMXDigital@users.noreply.github.com>
Co-authored-by: Rakesh Balakrishnan <Rakesh.Balakrishnan@emxdigital.com>
Co-authored-by: Dan Bogdan <daniel.bogdan@emxdigital.com>
Co-authored-by: AcuityAdsIntegrations <72594990+AcuityAdsIntegrations@users.noreply.github.com>
Co-authored-by: Winston <wiston@yieldmo.com>
Co-authored-by: redaguermas <redaguermas@gmail.com>
Co-authored-by: Reda Guermas <reda.guermas@nobid.io>
Co-authored-by: Nick Jacob <nickbjacob@gmail.com>
Co-authored-by: Aparna Rao <pr.aparna@gmail.com>
Co-authored-by: silvermob <73727464+silvermob@users.noreply.github.com>
Co-authored-by: Anton Nikityuk <antony.sq@gmail.com>
Co-authored-by: Sergio <sergio.anru@gmail.com>

* Fixing merging issue with master

* OTT-71: Add stats collecting information around the actual Ad duration (#92)

OTT-71: Add stats collecting information around the actual Ad duration

Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>

* Update config.go (#105)

* Trimming PublisherId field

* Using JSON framework for unit test

Co-authored-by: pm-viral-vala <63396712+pm-viral-vala@users.noreply.github.com>
Co-authored-by: Shriprasad <shriprasad.marathe@pubmatic.com>
Co-authored-by: ShriprasadM <shriprasad.marathe@gmail.com>
Co-authored-by: PubMatic-OpenWrap <UOEDev@pubmatic.com>
Co-authored-by: bretg <bgorsline@gmail.com>
Co-authored-by: Dmitriy <DimaGarbar49@gmail.com>
Co-authored-by: Harbar Dmytro <dharbar@rubiconproject.com>
Co-authored-by: Veronika Solovei <kalypsonika@gmail.com>
Co-authored-by: Veronika Solovei <veronika.solovei@xandr.com>
Co-authored-by: Telaria Engineering <36203956+telariaEng@users.noreply.github.com>
Co-authored-by: Vinay Prasad <vprasad@telaria.com>
Co-authored-by: Krzysztof Desput <dowlander@gmail.com>
Co-authored-by: Mansi Nahar <mansinahar@users.noreply.github.com>
Co-authored-by: jmaynardxandr <46759873+jmaynardxandr@users.noreply.github.com>
Co-authored-by: hbanalytics <55453525+hbanalytics@users.noreply.github.com>
Co-authored-by: chino117 <chino117@hotmail.com>
Co-authored-by: Aadesh <aadeshp95@gmail.com>
Co-authored-by: Aadesh Patel <aadesh.patel@xandr.com>
Co-authored-by: Ad Generation <AdGeneration@users.noreply.github.com>
Co-authored-by: Scott Kay <noreply@syntaxnode.com>
Co-authored-by: trchandraprakash <47793448+trchandraprakash@users.noreply.github.com>
Co-authored-by: Chandra Prakash <chandra.prakash@advangelists.com>
Co-authored-by: Mike Chowla <mchowla@gmail.com>
Co-authored-by: Taiki Sakamoto <godgourd@gmail.com>
Co-authored-by: Laurentiu Badea <laurb9@users.noreply.github.com>
Co-authored-by: johnwier <49074029+johnwier@users.noreply.github.com>
Co-authored-by: Marcin Muras <47107445+mmuras@users.noreply.github.com>
Co-authored-by: Mathieu Pheulpin <mpheulpin@sharethrough.com>
Co-authored-by: Benjamin <b.chastanier@criteo.com>
Co-authored-by: guscarreon <guscarreon@gmail.com>
Co-authored-by: Winston-Yieldmo <46379634+Winston-Yieldmo@users.noreply.github.com>
Co-authored-by: htang555 <htang555@gmail.com>
Co-authored-by: Cameron Rice <37162584+camrice@users.noreply.github.com>
Co-authored-by: ah-tappx <46002207+ah-tappx@users.noreply.github.com>
Co-authored-by: hhhjort <31041505+hhhjort@users.noreply.github.com>
Co-authored-by: Marsel <taipovm@gmail.com>
Co-authored-by: Corey Kress <coreykre@buffalo.edu>
Co-authored-by: Kevin Kerr <kkerr@triplelift.com>
Co-authored-by: Benjamin <benjamin.chastanier@gmail.com>
Co-authored-by: TheMediaGrid <44166371+TheMediaGrid@users.noreply.github.com>
Co-authored-by: Austin Bischoff <Austinb@users.noreply.github.com>
Co-authored-by: rpanchyk <rpanchyk@users.noreply.github.com>
Co-authored-by: Florian Hartwig <florian.hartwig@pubnative.net>
Co-authored-by: Salomon Rada <salomon@gamoshi.com>
Co-authored-by: vladi-mmg <vladi@m-m-g.com>
Co-authored-by: Aleksei Lin <aleksey@incsw.in>
Co-authored-by: evanmsmrtb <evanm@smrtb.com>
Co-authored-by: CPMStar <josh@cpmstar.com>
Co-authored-by: pm-isha-bharti <isha.bharti@pubmatic.com>
Co-authored-by: Seba Perez <sperez@est.frba.utn.edu.ar>
Co-authored-by: Michael Kuryshev <mk0x9@users.noreply.github.com>
Co-authored-by: Viacheslav Chimishuk <vchimishuk@yandex.ru>
Co-authored-by: Shalmali Patil <shalmali.patil@pubmatic.com>
Co-authored-by: DmitryStashkevich <34479135+DmitryStashkevich@users.noreply.github.com>
Co-authored-by: vstatkevich <v.statkevich@gmail.com>
Co-authored-by: v.statkevich <v.statkevich@adform.com>
Co-authored-by: Olga Linkevich <o.linkevich@adform.com>
Co-authored-by: thuyhq <61451682+thuyhq@users.noreply.github.com>
Co-authored-by: rhaksi-kidoz <61601767+rhaksi-kidoz@users.noreply.github.com>
Co-authored-by: Ryan Haksi <ryan.haksi@freshgrade.com>
Co-authored-by: ACannuniRP <57228257+ACannuniRP@users.noreply.github.com>
Co-authored-by: Rade Popovic <32302052+nanointeractive@users.noreply.github.com>
Co-authored-by: Arne Schulz <arne.schulz@otto.de>
Co-authored-by: Volk, Rainer <Rainer.Volk@otto.de>
Co-authored-by: RainerVolk4014 <53347752+RainerVolk4014@users.noreply.github.com>
Co-authored-by: Hendrik Iseke <hendrik.iseke@gmx.de>
Co-authored-by: hendrikiseke1979 <53309111+hendrikiseke1979@users.noreply.github.com>
Co-authored-by: Jimmy Tu <jimee02@users.noreply.github.com>
Co-authored-by: ddantuonobeintoo <58686785+ddantuonobeintoo@users.noreply.github.com>
Co-authored-by: zhaojp <327199034@qq.com>
Co-authored-by: junping.zhao <junping.zhao@yeahmobi.com>
Co-authored-by: Daniel Cassidy <mail@danielcassidy.me.uk>
Co-authored-by: dtbarne <7635750+dtbarne@users.noreply.github.com>
Co-authored-by: Dan Barnett <danb@mobilefuse.com>
Co-authored-by: Sander <sander@adhese.eu>
Co-authored-by: Mateusz <mateusz@adhese.eu>
Co-authored-by: Jim Naumann <muncha@users.noreply.github.com>
Co-authored-by: Mirko Feddern <3244291+mirkorean@users.noreply.github.com>
Co-authored-by: Alexander Pinnecke <alexander.pinnecke@googlemail.com>
Co-authored-by: Alex Klinkert <alex@klinkert.io>
Co-authored-by: Mirko Feddern <mirkorean@users.noreply.github.com>
Co-authored-by: Gena <wertix…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants