Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

OTT-88: Supporting Request Headers for Each VAST Bidder #106

Merged
merged 15 commits into from
Jan 27, 2021
Merged

Conversation

ShriprasadM
Copy link
Collaborator

@ShriprasadM ShriprasadM commented Jan 18, 2021

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,

http://localhost:8001/video/json?debug=1
image

In above example requestheaders indicating 2 headers are sent to appnexus bidder.

  1. "User-Agent": ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"]
  2. "X-Device-Accept-Language": ["en-US"]
  3. "X-Device-Ip": ["172.16.8.0"]
  4. "X-Device-User-Agent": ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"]
  5. "X-Forwarded-For": ["172.16.8.0"]

@ShriprasadM ShriprasadM changed the title Ott 88 OTT-88: Supporting Request Headers for Each VAST Bidder Jan 20, 2021
@@ -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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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) {
Copy link
Collaborator Author

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

Comment on lines 1157 to 1166
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
}
Copy link
Collaborator Author

@ShriprasadM ShriprasadM Jan 20, 2021

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 {
Copy link
Collaborator Author

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 {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Testcases

  1. check all default headers
  2. nil bid request
  3. no headers set
  4. vast 4 protocol
  5. < 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()
Copy link
Collaborator Author

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 {
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

  1. multi_impression_req

RequestBody: string(httpInfo.request.Body),
ResponseBody: string(httpInfo.response.Body),
Status: httpInfo.response.StatusCode,
RequestHeaders: httpInfo.request.Headers,
Copy link
Collaborator Author

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,
Copy link
Collaborator Author

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

Comment on lines +889 to +891
if nil != ext.RequestHeaders || len(ext.RequestHeaders) > 0 {
t.Errorf("The request headers should be empty. Got %s", ext.RequestHeaders)
}
Copy link
Collaborator Author

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

Comment on lines +900 to +902
Headers: http.Header{
"header-1": []string{"value-1"},
},
Copy link
Collaborator Author

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\"")
Copy link
Collaborator Author

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

Comment on lines +928 to +930
Headers: http.Header{
"header-1": []string{"value-1", "value-2"},
},
Copy link
Collaborator Author

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)
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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"`
Copy link
Collaborator Author

@ShriprasadM ShriprasadM Jan 20, 2021

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

@ShriprasadM ShriprasadM marked this pull request as ready for review January 20, 2021 15:26
@@ -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
Copy link
Collaborator

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.

if nil == tag.Request {
return
}
ip := tag.MacroIP("")
Copy link
Collaborator

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

return
}
ip := tag.MacroIP("")
userAgent := tag.MacroUserAgent("")
Copy link
Collaborator

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


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)
Copy link
Collaborator

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 {
Copy link
Collaborator

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,

Copy link
Collaborator

@pm-viral-vala pm-viral-vala left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Owner

@PubMatic-OpenWrap PubMatic-OpenWrap left a 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
Copy link
Collaborator

@pm-viral-vala pm-viral-vala left a comment

Choose a reason for hiding this comment

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

LGTM

@pm-viral-vala pm-viral-vala merged commit 154a368 into OTT-48 Jan 27, 2021
pm-viral-vala added a commit that referenced this pull request Jul 26, 2021
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants