-
Notifications
You must be signed in to change notification settings - Fork 735
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
Prebid Server adapter for Telaria #1231
Conversation
Merging with master
Keeping the fork updated with master
Keeping the fork up to date with master
…red but Bid.SeatCode is required
Keeping our fork updated with master
Merging with master
Keeping the fork up to date with master
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, thank you for requesting us to incorporate your adapter. We appreciate your time and effort and we'd like to start the review right away. Before that, can we please make sure the code coverage is 90% to 95% please? Usually, adapters create json
files to cover most scenarios in their code's logic.
</prebid/prebid-server/
▾ adapters/
▾ fooadapter/
▾ fooadaptertest/
▸ exemplary/ <-- tests to assert successful requests
▸ params/ <-- tests to assert valid params
▸ supplemental/ <-- tests to cover error scenarios or unsuccessful requests
foo.go
foo_test.go <-- Runs `TestJsonSamples` that automatically reads json files from `exemplary/`, `params/`, and `supplemental/`
params_test.go
usersync.go
usersync_test.go
Current coverage
ok github.com/prebid/prebid-server/adapters/telaria 0.007s coverage: 4.7% of statements
Package has less than 30% code coverage. Run ./scripts/coverage.sh --html to see a detailed coverage report, and add tests to improve your coverage
The command "./validate.sh --nofmt --cov --race 10" exited with 1.
Please let us know if there are any questions
Thank you for your reply. We will update the test cases as soon as possible. |
- added more test cases
Keeping the fork up to date with master
Hello @guscarreon I've updated the test cases and the coverage is at 90% now. Please let me know if there's anything else I should do. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
type ExtImpTelaria struct { | ||
AdCode string `json:"adCode,omitempty"` | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Parameter seatCode
is listed in static/bidder-params/telaria.json
but seems to not be listed here. Do we want it in the ExtImpTelaria
struct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added the seatCode param to the request ext object intentionally (we support multiple imp objects) and instead of adding a seat code under each Imp object I figured it will be better to just have it under request.ext. I can move it to the Ext object under impression if required.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The root level ext
is not considered in our video endpoint. Therefore, both the SeatCode
and the OriginalPublisherID
params be put in the imp object extensions instead please? I know it is a little bit repetitive to put them in every Imp
, but our system picks them up that way.
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Telaria Adapter Params",
"description": "A schema which validates params accepted by the Telaria adapter",
"type": "object",
"properties": {
"adCode": {
"type": "string",
"description": "The Ad Unit Code."
},
"seatCode": {
"type": "string",
"description": "Your Seat Code."
- }
+ },
+ "originalPublisherId": {
+ "type": "string",
+ "description": "A description"
+ }
}
}
static/bidder-params/telaria.json
type ExtImpTelaria struct {
AdCode string `json:"adCode,omitempty"`
+ SeatCode string `json:"seatCode,omitempty"`
+ OriginalPublisherID string `json:"originalPublisherId"`
}
openrtb_ext/imp_telaria.go
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In addition. Lines 148 to 150 of adapters/telaria/telaria.go
seem to make clear that SeatCode
is a required parameter so you could also add a required
parameters list in static/bidder-params/telaria.json
if you want to.
148 if requestExtIncoming.Telaria == nil || requestExtIncoming.Telaria.SeatCode == "" {
149 return &errortypes.BadInput{Message: "Seat Code is required"}
150 }
adapters/telaria/telaria.go
Entirely optional:
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Telaria Adapter Params",
"description": "A schema which validates params accepted by the Telaria adapter",
"type": "object",
"properties": {
"adCode": {
"type": "string",
"description": "The Ad Unit Code."
},
"seatCode": {
"type": "string",
"description": "Your Seat Code."
}
- }
+ },
+ "required": ["seatCode"]
}
static/bidder-params/telaria.json
adapters/telaria/telaria.go
Outdated
if err != nil { | ||
errors = append(errors, err) | ||
} else { | ||
request.Imp[i].TagID = telariaExt.AdCode |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need AdCode
to be a required parameter? Based on the fact that we want to assign its value to request.Imp[i].TagID
in case no error is thrown, should we mark adCode
as required
in the static/bidder-params/telaria.json
file?
1 {
2 "$schema": "http://json-schema.org/draft-04/schema#",
3 "title": "Telaria Adapter Params",
4 "description": "A schema which validates params accepted by the Telaria adapter",
5
6 "type": "object",
7 "properties": {
8 "adCode": {
9 "type": "string",
10 "description": "The Ad Unit Code."
11 },
12 "seatCode": {
13 "type": "string",
14 "description": "Your Seat Code."
15 - }
+ },
+ "required": ["adCode"]
16 }
17 }
static/bidder-params/telaria.json
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
adCode isn't required, only seat code is required. There is a default tagId that the pubs will have to set up on our system and if the ad code isn't passed our server uses the default value.
exchange/adapter_map.go
Outdated
@@ -2,6 +2,7 @@ package exchange | |||
|
|||
import ( | |||
"fmt" | |||
"github.com/prebid/prebid-server/adapters/telaria" | |||
"net/http" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we please list the Telaria import after line 9? We try to keep all of the adapter imports in one block.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do.
adapters/telaria/telaria.go
Outdated
return err | ||
} | ||
|
||
if requestExtIncoming.Telaria.SeatCode == "" { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any posibility that requestExtIncoming.Telaria
which is a ReqExtTelariaIn
pointer be nil
? Given our context, do you think necessary to check for nil
first?
type ReqExtIn struct {
openrtb_ext.ExtRequest
Telaria *ReqExtTelariaIn `json:"telaria,omitempty"`
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes thats a good point. I'm adding a nil check over there.
adapters/telaria/telaria.go
Outdated
} | ||
|
||
if request.App != nil { | ||
if request.App.Publisher != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Both request.Site.Publisher
and request.App.Publisher
get checked for nil
inside FetchPublisherId(request *openrtb.BidRequest)
and checked again in this function. Is there a way to avoid the extra check in lines 178 to 192? I guess it translates to something like:
141 func (a *TelariaAdapter) FetchPublisherId(request *openrtb.BidRequest) (string) {
142 -
+ pubID := requestExtIncoming.Telaria.SeatCode
143 if request.Site != nil {
144 if request.Site.Publisher != nil {
145 - if request.Site.Publisher.ID != "" {
146 - return request.Site.Publisher.ID
147 - }
+ request.Site.Publisher.ID = pubID
+ } else {
+ pubID = request.Site.Publisher.ID
148 }
149 }
150
151 if request.App != nil {
152 if request.App.Publisher != nil {
153 - if request.App.Publisher.ID != "" {
154 - return request.App.Publisher.ID
155 - }
+ request.App.Publisher.ID = pubID
+ } else {
+ pubID = request.App.Publisher.ID
156 }
157 }
158
159 - return ""
+ return pubID
160 }
161
162 // This method changes <site/app>.publisher.id to request.ext.telaria.seatCode
163 // And moves the publisher.id to request.ext.originalPublisherId
164 func (a *TelariaAdapter) PopulateRequestExtAndPubId(request *openrtb.BidRequest) error {
165 var requestExtIncoming ReqExtIn
166 if err := json.Unmarshal(request.Ext, &requestExtIncoming); err != nil {
167 return err
168 }
169
170 if requestExtIncoming.Telaria.SeatCode == "" {
171 return &errortypes.BadInput{Message: "Seat Code is required"}
172 }
173
+ originalPublisherID := a.FetchPublisherId(request)
174 - request.Ext, _ = json.Marshal(&BidExtOut{requestExtIncoming.ExtRequest, a.FetchPublisherId(request)})
+ request.Ext, _ = json.Marshal(&BidExtOut{requestExtIncoming.ExtRequest, originalPublisherID})
175
176 publisherObject := &openrtb.Publisher{ID: originalPublisherID}
177 -
178 - if request.Site != nil {
179 - if request.Site.Publisher != nil {
180 - request.Site.Publisher.ID = requestExtIncoming.Telaria.SeatCode
181 - } else {
182 - request.Site.Publisher = publisherObject
183 - }
184 - }
185 -
186 - if request.App != nil {
187 - if request.App.Publisher != nil {
188 - request.App.Publisher.ID = requestExtIncoming.Telaria.SeatCode
189 - } else {
190 - request.App.Publisher = publisherObject
191 - }
192 - }
193
194 return nil
195 }
This is just a suggestion and the logic needs to be double checked.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, I've combined the nil checks and the seat code assignments.
adapters/telaria/telaria.go
Outdated
return nil, errors | ||
} | ||
|
||
reqJSON, _ := json.Marshal(request) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, are we sure no json.Marshal
error could get returned under every circumstance?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will add an err check at these places.
Keeping the fork up to date with master
…t instead of a copy
I accidentally remove myself from reviewers. I approve this PR, it seems like I have no permissions to do this (even with assignment) |
Approved |
@VeronikaSolovei9 @guscarreon thank you so much for helping me with the adapter. It was fun learning go and contributing to this project :). |
@telariaEng thank you so much for your hardwork! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty good. Some comments still left
adapters/telaria/telaria.go
Outdated
type ReqExtIn struct { | ||
openrtb_ext.ExtRequest | ||
Telaria *ReqExtTelariaIn `json:"telaria,omitempty"` | ||
}*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please get rid of unnecessary comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will do.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you
"type": "string", | ||
"description": "publisher ID from the original request" | ||
} | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If originalPublisherid
is only found in static/bidder-params/telaria.json
and has no "receptive" field in openrtb_ext/imp_telaria.go
, it won't be unmarshaled and won't be of any use. Is that ok?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah that is fine. It is being sent out in the Imp.Ext object to our ad server
usersync/usersyncers/syncer.go
Outdated
@@ -1,6 +1,7 @@ | |||
package usersyncers | |||
|
|||
import ( | |||
"github.com/prebid/prebid-server/adapters/telaria" | |||
"strings" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we place telaria's import in line 24 anywere from line 10 to line 60 were the rest of the adapters are listed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple more comments were left. Looks pretty good so far
@telariaEng thanks for the quick response. Can we please add one more, very simple, test file inside
|
Done :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Look pretty good. Thank you @telariaEng for addressing all of our comments
Hi @telariaEng, we continue our testing of PBS with Telaria adapter with parameters you gave me. We noticed it returns a bid with zero price only. Can you please configure it to return price greater than zero and if possible configure it to return more than one bids back (when we request more than one impression). Thank you! |
Keeping our branch up to date with master
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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…
* 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…
Type of change
Description of change
Prebid Server adapter for Telaria