@@ -9,12 +9,20 @@ import (
9
9
"github.com/prebid/prebid-server/config"
10
10
)
11
11
12
+ type analyticsModule analytics.PBSAnalyticsModule
13
+
14
+ type pbsAnalyticsModule struct {
15
+ enabledModules []analyticsModule
16
+ }
17
+
12
18
//Modules that need to be logged to need to be initialized here
13
19
func NewPBSAnalytics (analytics * config.Analytics ) analytics.PBSAnalyticsModule {
14
- modules := make (enabledAnalytics , 0 )
20
+
21
+ instance := & pbsAnalyticsModule {enabledModules : make ([]analyticsModule , 0 )}
22
+
15
23
if len (analytics .File .Filename ) > 0 {
16
24
if mod , err := filesystem .NewFileLogger (analytics .File .Filename ); err == nil {
17
- modules = append (modules , mod )
25
+ instance . enabledModules = append (instance . enabledModules , mod )
18
26
} else {
19
27
glog .Fatalf ("Could not initialize FileLogger for file %v :%v" , analytics .File .Filename , err )
20
28
}
@@ -29,43 +37,40 @@ func NewPBSAnalytics(analytics *config.Analytics) analytics.PBSAnalyticsModule {
29
37
analytics .Pubstack .Buffers .BufferSize ,
30
38
analytics .Pubstack .Buffers .Timeout )
31
39
if err == nil {
32
- modules = append (modules , pubstackModule )
40
+ instance . enabledModules = append (instance . enabledModules , pubstackModule )
33
41
} else {
34
42
glog .Fatalf ("Could not initialize PubstackModule: %v" , err )
35
43
}
36
44
}
37
- return modules
45
+ return instance
38
46
}
39
47
40
- //Collection of all the correctly configured analytics modules - implements the PBSAnalyticsModule interface
41
- type enabledAnalytics []analytics.PBSAnalyticsModule
42
-
43
- func (ea enabledAnalytics ) LogAuctionObject (ao * analytics.AuctionObject ) {
44
- for _ , module := range ea {
48
+ func (pam pbsAnalyticsModule ) LogAuctionObject (ao * analytics.AuctionObject ) {
49
+ for _ , module := range pam .enabledModules {
45
50
module .LogAuctionObject (ao )
46
51
}
47
52
}
48
53
49
- func (ea enabledAnalytics ) LogVideoObject (vo * analytics.VideoObject ) {
50
- for _ , module := range ea {
54
+ func (pam pbsAnalyticsModule ) LogVideoObject (vo * analytics.VideoObject ) {
55
+ for _ , module := range pam . enabledModules {
51
56
module .LogVideoObject (vo )
52
57
}
53
58
}
54
59
55
- func (ea enabledAnalytics ) LogCookieSyncObject (cso * analytics.CookieSyncObject ) {
56
- for _ , module := range ea {
60
+ func (pam pbsAnalyticsModule ) LogCookieSyncObject (cso * analytics.CookieSyncObject ) {
61
+ for _ , module := range pam . enabledModules {
57
62
module .LogCookieSyncObject (cso )
58
63
}
59
64
}
60
65
61
- func (ea enabledAnalytics ) LogSetUIDObject (so * analytics.SetUIDObject ) {
62
- for _ , module := range ea {
66
+ func (pam pbsAnalyticsModule ) LogSetUIDObject (so * analytics.SetUIDObject ) {
67
+ for _ , module := range pam . enabledModules {
63
68
module .LogSetUIDObject (so )
64
69
}
65
70
}
66
71
67
- func (ea enabledAnalytics ) LogAmpObject (ao * analytics.AmpObject ) {
68
- for _ , module := range ea {
72
+ func (pam pbsAnalyticsModule ) LogAmpObject (ao * analytics.AmpObject ) {
73
+ for _ , module := range pam . enabledModules {
69
74
module .LogAmpObject (ao )
70
75
}
71
76
}
0 commit comments