18
18
package main
19
19
20
20
import (
21
- "errors"
22
21
"net/http"
23
22
"time"
24
23
@@ -29,12 +28,6 @@ import (
29
28
"github.com/go-kit/kit/log"
30
29
)
31
30
32
- var (
33
- errParseSat = errors .New ("Couldn't parse SAT acquirer config" )
34
- errParseBasic = errors .New ("Couldn't parse basic acquirer config" )
35
- errEmptyBasic = errors .New ("Empty basic credentials" )
36
- )
37
-
38
31
type webhookRegisterer interface {
39
32
Register (client * http.Client , secret string ) error
40
33
}
@@ -50,7 +43,8 @@ type WebhookConfig struct {
50
43
Timeout time.Duration
51
44
RegistrationURL string
52
45
EventsToWatch []string
53
- AcquirerConfig map [string ]interface {}
46
+ Sat webhook.SatAcquirer
47
+ Basic string
54
48
Secret string
55
49
}
56
50
@@ -63,11 +57,9 @@ type periodicRegisterer struct {
63
57
}
64
58
65
59
func newPeriodicRegisterer (wc WebhookConfig , secretGetter secretGetter , logger log.Logger ) periodicRegisterer {
66
- acquirer , err := determineTokenAcquirer (wc .AcquirerConfig )
67
- if err != nil {
68
- logging .Error (logger , emperror .Context (err )... ).Log (logging .MessageKey (), "Failed to parse token acquirer config, using default acquirer" ,
69
- logging .ErrorKey (), err .Error (), "config" , wc .AcquirerConfig )
70
- }
60
+ acquirer := determineTokenAcquirer (wc )
61
+ logging .Debug (logger ).Log (logging .MessageKey (), "determined token acquirer" , "acquirer" , acquirer ,
62
+ "config" , wc )
71
63
webhook := webhook.Webhook {
72
64
URL : wc .URL ,
73
65
RegistrationURL : wc .RegistrationURL ,
@@ -84,26 +76,17 @@ func newPeriodicRegisterer(wc WebhookConfig, secretGetter secretGetter, logger l
84
76
}
85
77
86
78
// determineTokenAcquirer always returns a valid TokenAcquirer, but may also return an error
87
- func determineTokenAcquirer (config map [ string ] interface {}) ( webhook.TokenAcquirer , error ) {
79
+ func determineTokenAcquirer (config WebhookConfig ) webhook.TokenAcquirer {
88
80
defaultAcquirer := & webhook.DefaultAcquirer {}
89
- if value , ok := config ["sat" ]; ok {
90
- acquirer , ok := value .(webhook.SatAcquirer )
91
- if ! ok {
92
- return defaultAcquirer , errParseSat
93
- }
94
- return & acquirer , nil
81
+ if config .Sat .Client != "" && config .Sat .SatURL != "" && config .Sat .Secret != "" && config .Sat .Timeout != time .Duration (0 )* time .Second {
82
+ return & config .Sat
95
83
}
96
- if value , ok := config ["basic" ]; ok {
97
- str , ok := value .(string )
98
- if ! ok {
99
- return defaultAcquirer , errParseBasic
100
- }
101
- if str == "" {
102
- return defaultAcquirer , errEmptyBasic
103
- }
104
- return webhook .NewBasicAcquirer (str ), nil
84
+
85
+ if config .Basic != "" {
86
+ return webhook .NewBasicAcquirer (config .Basic )
105
87
}
106
- return defaultAcquirer , nil
88
+
89
+ return defaultAcquirer
107
90
}
108
91
109
92
func (p * periodicRegisterer ) registerAtInterval () {
0 commit comments