-
Notifications
You must be signed in to change notification settings - Fork 5
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
OTT-88: Supporting Request Headers for Each VAST Bidder #106
Conversation
…set in requestData while making tag bidder request
…ug.httpcalls.<bidder_>.requestheaders
adapters/vastbidder/bidder_macro.go
Outdated
@@ -32,6 +32,9 @@ type BidderMacro struct { | |||
Content *openrtb.Content | |||
UserExt *openrtb_ext.ExtUser | |||
RegsExt *openrtb_ext.ExtRegs | |||
|
|||
// Impression level Request Headers | |||
impReqHeaders http.Header |
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.
Holds the impression level request headers to be sent in the VAST bidder request
@@ -118,7 +120,8 @@ func (tag *BidderMacro) GetURI() string { | |||
return tag.Conf.Endpoint | |||
} | |||
|
|||
//GetHeaders GetHeaders | |||
//GetHeaders returns list of custom request headers | |||
//Override this method if your Vast bidder needs custom request headers |
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.
GetHeaders will be used to accept a list of custom request headers that VAST bidder may expect in the request
// User-Agent; End users user agent, prior VAST versions | ||
// X-Device-Referer; Referer value from the original request, per VAST 4.x | ||
// X-device-Accept-Language, Accept-language value from the original request, per VAST 4.x | ||
func setDefaultHeaders(tag *BidderMacro) { |
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.
set default headers will populate the list of default request headers for any given VAST bidder
adapters/vastbidder/bidder_macro.go
Outdated
if nil != tag.Imp && nil != tag.Imp.Video && nil != tag.Imp.Video.Protocols && len(tag.Imp.Video.Protocols) > 0 { | ||
for _, protocol := range tag.Imp.Video.Protocols { | ||
hasVast4 = hasVast4 || (protocol == openrtb.ProtocolVAST40 || protocol == openrtb.ProtocolVAST40Wrapper) | ||
hasPriorVastVersions = hasPriorVastVersions || protocol <= openrtb.ProtocolVAST30Wrapper | ||
} | ||
} else { | ||
// not able to detect protocols. set all headers | ||
hasVast4 = true | ||
hasPriorVastVersions = true | ||
} |
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.
hasVast4 - will be set to true, if VAST4 or VAST4-wrapper is expected
hasPriorVastVersions - will be set to true, if VAST 3.0 or lesser or VAST-3.0-wrapper is expected.
Use these flags, request headers will be conditionally populated. The following table shows how headers will be populated
When Vast version is | Send headers | DO NOT send these headers |
---|---|---|
4.0 / 4.0 Wrapper | X-device-IPX-Device-User-AgentX-Device-RefererX-device-Accept-Language | X-Forwarded-ForUser-Agent |
Any other following vast version VAST 1.0 /VAST 2.0 /VAST 3.0 /VAST 1.0 Wrapper / VAST 2.0 Wrapper /VAST 3.0 Wrapper | X-Forwarded-ForUser-Agent | X-device-IPX-Device-User-AgentX-Device-RefererX-device-Accept-Language |
|
||
//getAllHeaders combines default and custom headers and returns common list | ||
//It internally calls GetHeaders() method for obtaining list of custom headers | ||
func (tag *BidderMacro) getAllHeaders() http.Header { |
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.
getAllHeaders - The private method internally used to combine a list of default headers along with a list of custom headers if any.
After calling this method, the final list of headers is passed to VAST Bidder
type want struct { | ||
headers http.Header | ||
} | ||
tests := []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.
Testcases
- check all default headers
- nil bid request
- no headers set
- vast 4 protocol
- < vast 4
@@ -38,11 +38,14 @@ func (a *TagBidder) MakeRequests(request *openrtb.BidRequest, reqInfo *adapters. | |||
//uri := macroProcessor.ProcessURL(bidderMacro.GetURI(), a.bidderConfig.Flags) | |||
uri := macroProcessor.ProcessURL(bidderMacro.GetURI(), Flags{RemoveEmptyParam: true}) | |||
|
|||
// append custom headers if any | |||
headers := bidderMacro.getAllHeaders() |
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.
Get the list of default and combine headers
type want struct { | ||
impIDReqHeaderMap map[string]http.Header | ||
} | ||
tests := []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.
- multi_impression_req
RequestBody: string(httpInfo.request.Body), | ||
ResponseBody: string(httpInfo.response.Body), | ||
Status: httpInfo.response.StatusCode, | ||
RequestHeaders: httpInfo.request.Headers, |
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.
Log Request Headers when this is no error
RequestBody: string(httpInfo.request.Body), | ||
Uri: httpInfo.request.Uri, | ||
RequestBody: string(httpInfo.request.Body), | ||
RequestHeaders: httpInfo.request.Headers, |
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.
Log Request Headers when there is error
if nil != ext.RequestHeaders || len(ext.RequestHeaders) > 0 { | ||
t.Errorf("The request headers should be empty. Got %s", ext.RequestHeaders) | ||
} |
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.
Verify, in case of Bad request Request Headers are not logged
Headers: http.Header{ | ||
"header-1": []string{"value-1"}, | ||
}, |
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.
Simulation of request headers set
@@ -910,6 +916,7 @@ func TestBadResponseLogging(t *testing.T) { | |||
if ext.Status != 0 { | |||
t.Errorf("The Status code should be 0. Got %d", ext.Status) | |||
} | |||
assert.Equal(t, info.request.Headers, http.Header(ext.RequestHeaders), "The request headers should be \"header-1:value-1\"") |
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.
Verify Request headers are logged when there is a bad response
Headers: http.Header{ | ||
"header-1": []string{"value-1", "value-2"}, | ||
}, |
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.
Simulation of request headers set
@@ -937,6 +947,7 @@ func TestSuccessfulResponseLogging(t *testing.T) { | |||
if ext.Status != info.response.StatusCode { | |||
t.Errorf("The Status code should be 0. Got %d", ext.Status) | |||
} | |||
assert.Equal(t, info.request.Headers, http.Header(ext.RequestHeaders), "The request headers should be \"%s\". Got %s", info.request.Headers, ext.RequestHeaders) |
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.
Verify Request headers are logged when there is a bad response
@@ -66,7 +66,8 @@ | |||
"uri": "appnexusTest.com", | |||
"requestbody": "appnexusTestRequestBody", | |||
"responsebody": "appnexusTestResponseBody", | |||
"status": 200 | |||
"status": 200, | |||
"requestheaders": null |
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.
Added new parameter to satisfy the unit test
@@ -95,7 +96,8 @@ | |||
"uri": "audienceNetworkTest.com", | |||
"requestbody": "audienceNetworkTestRequestBody", | |||
"responsebody": "audienceNetworkTestResponseBody", | |||
"status": 200 | |||
"status": 200, | |||
"requestheaders": null |
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.
Added new parameter to satisfy the unit test
@@ -150,15 +152,17 @@ | |||
"uri": "appnexusTest.com", | |||
"requestbody": "appnexusTestRequestBody", | |||
"responsebody": "appnexusTestResponseBody", | |||
"status": 200 | |||
"status": 200, | |||
"requestheaders": null |
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.
Added new parameter to satisfy the unit test
} | ||
], | ||
"audienceNetwork": [ | ||
{ | ||
"uri": "audienceNetworkTest.com", | ||
"requestbody": "audienceNetworkTestRequestBody", | ||
"responsebody": "audienceNetworkTestResponseBody", | ||
"status": 200 | ||
"status": 200, | ||
"requestheaders": null |
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.
Added new parameter to satisfy the unit test
RequestBody string `json:"requestbody"` | ||
ResponseBody string `json:"responsebody"` | ||
Status int `json:"status"` | ||
RequestHeaders map[string][]string `json:"requestheaders"` |
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 new parameter RequestHeaders will contain the header key and multiple values associated with it.
We have kept value as an array of strings because one header can have multiple values.
Also, this data structure is inline with http/Header
requestheaders is the key used while forming the JSON
adapters/vastbidder/bidder_macro.go
Outdated
@@ -32,6 +32,9 @@ type BidderMacro struct { | |||
Content *openrtb.Content | |||
UserExt *openrtb_ext.ExtUser | |||
RegsExt *openrtb_ext.ExtRegs | |||
|
|||
// Impression level Request Headers | |||
impReqHeaders http.Header |
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.
Make it public to allow other bidders to use that variable from a different package.
adapters/vastbidder/bidder_macro.go
Outdated
if nil == tag.Request { | ||
return | ||
} | ||
ip := tag.MacroIP("") |
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.
use tag.IBidderMacro.MacroIP and pass constant.MacroIP key to function
adapters/vastbidder/bidder_macro.go
Outdated
return | ||
} | ||
ip := tag.MacroIP("") | ||
userAgent := tag.MacroUserAgent("") |
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.
use tag.IBidderMacro.MacroUserAgent and pass constant.MacroUserAgent key to function
adapters/vastbidder/bidder_macro.go
Outdated
|
||
if nil != tag.Imp && nil != tag.Imp.Video && nil != tag.Imp.Video.Protocols && len(tag.Imp.Video.Protocols) > 0 { | ||
for _, protocol := range tag.Imp.Video.Protocols { | ||
hasVast4 = hasVast4 || (protocol == openrtb.ProtocolVAST40 || protocol == openrtb.ProtocolVAST40Wrapper) |
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.
we can break the loop once we found VAST4 version.
hasVast4 := false | ||
hasPriorVastVersions := false | ||
|
||
if nil != tag.Imp && nil != tag.Imp.Video && nil != tag.Imp.Video.Protocols && len(tag.Imp.Video.Protocols) > 0 { |
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.
we can remove empty check for tag.Imp,
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.
LGTM
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.
LGTM
…. Added unit test when protocols contains vast 2 and vast 4 both
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.
LGTM
commit 4be0c87 Author: Viral Vala <[email protected]> Date: Mon Jul 26 18:38:47 2021 +0530 Adding test cases for domain filtering and commenting filter vast tags for adpod commit 07d1b4c Author: Viral Vala <[email protected]> Date: Thu Jul 22 15:46:44 2021 +0530 OTT-241 URL Encoding All Values of Macro commit 5911dd0 Author: Viral Vala <[email protected]> Date: Tue Jul 20 14:21:52 2021 +0530 merged master branch into OTT-48 commit e6fb5fb Author: PubMatic-OpenWrap <[email protected]> Date: Fri Jul 16 00:34:00 2021 +0530 OTT-233 : Fix error code for VAST bidders when bid price is zero commit 6160f64 Author: mohammad-murad <[email protected]> Date: Thu Jul 15 11:10:50 2021 +0530 OTT-232 : Fix incorrect tagID in final VastTag URLs Signed-off-by: mohammad-murad <[email protected]> commit 708f2e6 Author: PubMatic-OpenWrap <[email protected]> Date: Mon Jul 5 15:26:27 2021 +0530 OTT-217 - Remove logger for excluded VASTTags commit d755118 Author: Viral Vala <[email protected]> Date: Wed Jun 30 14:27:09 2021 +0530 OTT-48: Fixing Panic Issue commit fa61146 Author: Viral Vala <[email protected]> Date: Tue Jun 29 15:21:25 2021 +0530 Resolving Test Cases commit db2b45a Author: Viral Vala <[email protected]> Date: Mon Jun 28 22:23:25 2021 +0530 OTT-162 Adding BlockedVASTTags in Bid Response commit f1f8712 Author: mohammad-murad <[email protected]> Date: Mon Jun 28 17:43:49 2021 +0530 OTT-214 : Fix panic while getting debug info http calls Signed-off-by: mohammad-murad <[email protected]> commit ff2b05c Author: mohammad-murad <[email protected]> Date: Wed Jun 23 14:23:40 2021 +0530 OTT:161 - Filter VAST tags based on duration Signed-off-by: mohammad-murad <[email protected]> commit 58d0a4e Merge: fb6d3c2 ca9b117 Author: Viral Vala <[email protected]> Date: Fri Jun 18 20:03:35 2021 +0530 Merge branch 'master' into OTT-48 commit fb6d3c2 Author: ShriprasadM <[email protected]> Date: Mon Jun 7 17:07:47 2021 +0530 OTT-205: Added temporary change for enable QA to debug and verify the changes for OTT-159 (#166) Co-authored-by: Shriprasad <[email protected]> commit 1def51c Author: Viral Vala <[email protected]> Date: Thu May 20 10:14:22 2021 +0530 OTT-48 Fixing formatting of OTT-48 based on master branch commit cafa88f Author: Viral Vala <[email protected]> Date: Tue May 18 22:47:03 2021 +0530 OTT-48 Using PubMatic-OpenWrap etree library for vast xml processing commit 101f131 Author: Viral Vala <[email protected]> Date: Tue May 18 20:52:05 2021 +0530 merged master branch into OTT-48 commit 6789fa2 Author: Viral Vala <[email protected]> Date: Mon May 17 19:05:38 2021 +0530 OTT-159,OTT-160 Adding Duration and VASTTag Details in ExtBidPrebidVideo Object commit bd352c2 Author: Viral Vala <[email protected]> Date: Mon May 3 14:15:55 2021 +0530 OTT-57,OTT-153 Mocking VAST Tag Details and Update Request Handler fo… (#147) * OTT-57,OTT-153 Mocking VAST Tag Details and Update Request Handler for VAST Tag * OTT-57 Incorporating Review Comments commit 8388840 Author: Viral Vala <[email protected]> Date: Fri Apr 16 10:01:52 2021 +0530 resolving master merge issue commit 4a88c61 Author: Viral Vala <[email protected]> Date: Tue Apr 13 12:19:28 2021 +0530 Resolving Merge Issue commit c01ab29 Author: Viral Vala <[email protected]> Date: Mon Apr 12 14:29:22 2021 +0530 merging master to OTT-48 branch commit d61bacb Author: mohammad-murad <[email protected]> Date: Tue Feb 23 16:54:33 2021 +0530 OTT-100 : Get advertiser list from VAST Signed-off-by: mohammad-murad <[email protected]> commit 3db8442 Author: Shriprasad <[email protected]> Date: Tue Feb 16 16:18:37 2021 +0530 OTT-48: Enabled running all tests for TestApplyAdvertiserBlocking and corrected syntax error commit 54b073e Merge: b76d1a4 6fcee64 Author: Shriprasad <[email protected]> Date: Tue Feb 16 16:02:49 2021 +0530 Merge branch 'master' into OTT-48 commit b76d1a4 Author: ShriprasadM <[email protected]> Date: Wed Feb 10 16:40:09 2021 +0530 OTT-101: Added exchange.applyAdvertiserBlocking and unit tests around it (#108) * OTT-101: Added exchange.applyAdvertiserBlocking and unit tests around it * OTT-101: Unit tests added with tested workflow. Integrated the function * OTT-101: Removed check * OTT-101: Corrected test * OTT-101: Removed publicsuffix.tld+1. Instead we will return domain irrepstive of level. Renamed adjustDomain to normalizeDomain. Added and modified few test cases * OTT-101: Temporary method vastbidder.getAdvertisers and its integration added for making this drop testable. OTT-100 must replace this function and its integration with valid implementation Also change the way of checking if bidder is instance of vasttag bidder. There was issue in determining it while doing the integration testing * OTT-101: Added new bucket in adaptermap - tagbidders. This map will hold the information around tagbidders. This bucket would be used by ApplyAdvertiserBlocking function for checking if bid belongs to ApplyAdvertiserBlocking. Also Replaced Index method with HasPrefix and also added case-insenstive comparison * OTT-101: Change the way of detecting the bidder instance. Now bidder will be resolved using resolveBidder method based on alias * OTT-101: Added publicsuffix check * OTT-101:Refectored the logic. Added more unit tests * OTT-101: Corrected the BidID and added one more bid request for testing Co-authored-by: Shriprasad <[email protected]> commit 51dabf4 Author: Viral Vala <[email protected]> Date: Wed Feb 3 15:44:02 2021 +0530 Merged 'master' branch into OTT-48 commit ea145cf Author: Viral Vala <[email protected]> Date: Wed Jan 27 17:22:47 2021 +0530 OTT-54 Updating longitude macro name from long to lon commit 154a368 Author: ShriprasadM <[email protected]> Date: Wed Jan 27 15:21:36 2021 +0530 OTT-88: Supporting Request Headers for Each VAST Bidder (#106) * OTT-88: Header changes * OTT-88: Added unit tests * OTT-88: Added support for VAST protocol based header set * OTT-88: Added unit test for checking if default + custom headers are set in requestData while making tag bidder request * OTT-88: Assigned value to IBidderMacro * OTT-88 fixing gofmt for vast bidder files * OTT-88: Added support for logging http request headers inside ext.debug.httpcalls.<bidder_>.requestheaders * Merge branch 'OTT-48' into OTT-88 * OTT-88: Fixed test case issue * OTT-88: Reverted the comment * OTT-88: Code review changes are addressed * OTT-88: Refactored. Replace switch with if-else for better readbility. Added unit test when protocols contains vast 2 and vast 4 both Co-authored-by: Shriprasad <[email protected]> Co-authored-by: Viral Vala <[email protected]> commit a8cb5f9 Author: Viral Vala <[email protected]> Date: Tue Jan 19 23:26:11 2021 +0530 OTT-54 Updating scripts/coverage.sh to Skip prebid-server for coverage check commit b390e5a Author: Viral Vala <[email protected]> Date: Tue Jan 19 23:12:33 2021 +0530 OTT-54 Fixing gofmt Formatting commit 531671c Author: Viral Vala <[email protected]> Date: Tue Jan 19 22:59:54 2021 +0530 OTT-54: Adding Missing TestCase Files commit 1fea95e Author: Viral Vala <[email protected]> Date: Tue Jan 19 22:46:28 2021 +0530 OTT-54 Adding TestCases commit 74758d7 Author: Viral Vala <[email protected]> Date: Tue Jan 19 13:03:36 2021 +0530 OTT-54 Fixing Bugs of Macro commit c5e9530 Author: Viral Vala <[email protected]> Date: Mon Jan 18 13:33:08 2021 +0530 Merge branch 'master' into OTT-48 commit a17348d Author: Viral Vala <[email protected]> Date: Tue Jan 12 12:17:54 2021 +0530 Merging OTT-55 to OTT-48 commit 172b374 Merge: 776a1f3 e012115 Author: Viral Vala <[email protected]> Date: Tue Jan 12 12:12:57 2021 +0530 Merge branch 'OTT-55' into OTT-48 commit e012115 Merge: 661db68 fde6dc4 Author: Viral Vala <[email protected]> Date: Tue Jan 12 12:10:42 2021 +0530 Merge branch 'OTT-54' into OTT-55 commit fde6dc4 Author: Viral Vala <[email protected]> Date: Tue Jan 12 12:00:04 2021 +0530 OTT-54 Adding Default VAST Bidder Implementation commit 776a1f3 Author: Viral Vala <[email protected]> Date: Fri Jan 8 15:47:02 2021 +0530 Merging OTT-54, OTT-55, OTT-58 OTT-58: Extract Duration and Creative Id and update Prebid Server objects (#95) commit 661db68 Author: Viral Vala <[email protected]> Date: Fri Jan 8 10:30:14 2021 +0530 OTT-54: Removing Bidder Config commit c9e9c82 Author: Viral Vala <[email protected]> Date: Fri Jan 8 10:27:22 2021 +0530 removing bidder config commit 12a8711 Author: Viral Vala <[email protected]> Date: Mon Jan 4 16:41:24 2021 +0530 OTT-55 Reverting Merge Conflicts commit 90fe4c5 Merge: b17213c 9f69202 Author: Viral Vala <[email protected]> Date: Mon Jan 4 14:28:40 2021 +0530 Merge branch 'OTT-54' into OTT-55 commit 9f69202 Author: Viral Vala <[email protected]> Date: Tue Dec 29 12:27:41 2020 +0530 OTT-54 Adding Macro Support for Tag Bidder commit b17213c Author: ShriprasadM <[email protected]> Date: Mon Jan 4 12:39:46 2021 +0530 OTT-58: Extract Duration and Creative Id and update Prebid Server objects (#95) * OTT-58: Added empty function getBidDuration. Added unit tests around it * OTT-58: Few trials for converting VAST bid duration into seconds when input is HH:MM:SS.mmm * OTT-58: Added unit tests and functionality for determining the video ad duration * OTT-58: Refactored and added some more unit tests * OTT-58: Added Benchmark testcase * OTT-58: Removed version argument from tests. Its not required for now. Fixed test issue * OTT-53: typo fix * OTT-58: Modifed regexp for millis to accept value max upto 999. Added unit tests around it * OTT-58: Added handling for detecting creative.id and updating it in typedBid.Bid.CrID * OTT-58: Addressed code review comments * OTT-58: Reverted changes for getCreativeID. It will now return empty string to creative id is not present. Instead caller will generate the random creative id with cr as prefix Co-authored-by: Shriprasad <[email protected]> commit cfa29dc Author: Viral Vala <[email protected]> Date: Sat Dec 19 09:36:38 2020 +0530 added creative id parsing commit bc87d85 Author: Viral Vala <[email protected]> Date: Sat Dec 19 09:15:39 2020 +0530 updating macro processor commit 40ebada Author: Shriprasad <[email protected]> Date: Fri Dec 18 17:25:30 2020 +0530 Revert "OTT-55: Added empty function getBidDuration. Added unit tests with expectations around it" This reverts commit 417f6fd. commit 417f6fd Author: Shriprasad <[email protected]> Date: Fri Dec 18 17:21:43 2020 +0530 OTT-55: Added empty function getBidDuration. Added unit tests with expectations around it commit ebcb221 Author: Viral Vala <[email protected]> Date: Fri Dec 18 13:59:13 2020 +0530 fixing bugs commit 808264a Author: Viral Vala <[email protected]> Date: Fri Dec 18 11:33:09 2020 +0530 updated macro format commit dda1e87 Author: Viral Vala <[email protected]> Date: Fri Dec 18 11:11:45 2020 +0530 testing phase commit a439fd4 Author: Viral Vala <[email protected]> Date: Wed Dec 16 09:45:27 2020 +0530 refactoring code commit 5cbf91e Author: Viral Vala <[email protected]> Date: Mon Dec 14 19:30:40 2020 +0530 refactored code commit 26c0619 Author: Viral Vala <[email protected]> Date: Sun Dec 13 00:22:19 2020 +0530 refactoring code commit 3dade2e Author: Viral Vala <[email protected]> Date: Wed Dec 2 17:35:27 2020 +0530 OTT-55 Adding Macro Definitions commit 81841e5 Author: Viral Vala <[email protected]> Date: Tue Dec 1 17:45:31 2020 +0530 OTT-55 Second Commit commit 911db3e Author: Viral Vala <[email protected]> Date: Wed Nov 25 12:28:34 2020 +0530 OTT-55 First Commit
Need to support request headers for each VAST Bidder.
List of supported Requested Headers:
Support IP address and User Agent forwarding in headers
X-device-IP; end user's IP address, per VAST 4.x
X-Forwarded-For; end user's IP address, prior VAST versions
X-Device-User-Agent; End user's user agent, per VAST 4.x
User-Agent; End user's user agent, prior VAST versions
X-Device-Referer; Referer value from the original request, per VAST 4.x
X-device-Accept-Language, Accept-language value from the original request, per VAST 4.x
httpcalls.<BIDDER>.requestheaders - New Debug parameter
@pm-viral-vala / @PubMatic-OpenWrap please review and approve Please review and approve this PR.
It will be useful to log a set of request headers sent to the actual Bidder. This will help in verifying if required request headers are correctly getting sent to the actual Bidder.
This parameter will be visible only when query parameter debug=1 is set. For example,
In above example requestheaders indicating 2 headers are sent to appnexus bidder.