@@ -16,10 +16,13 @@ package webhook
16
16
17
17
import (
18
18
"bytes"
19
+ "context"
20
+ "crypto/tls"
19
21
"encoding/json"
20
22
"fmt"
21
23
"io"
22
24
"net/http"
25
+ "time"
23
26
24
27
"github.com/blinklabs-io/snek/event"
25
28
"github.com/blinklabs-io/snek/input/chainsync"
@@ -60,7 +63,6 @@ func (w *WebhookOutput) Start() error {
60
63
if payload == nil {
61
64
panic (fmt .Errorf ("ERROR: %v" , payload ))
62
65
}
63
- logger .Infof ("debug: type: %s" , evt .Type )
64
66
switch evt .Type {
65
67
case "chainsync.block" :
66
68
be := payload .(chainsync.BlockEvent )
@@ -93,14 +95,28 @@ func SendWebhook(e *event.Event, url string) error {
93
95
return fmt .Errorf ("%s" , err )
94
96
}
95
97
// Setup request
96
- req , err := http .NewRequest (http .MethodPost , url , bytes .NewReader (data ))
98
+ ctx , cancel := context .WithTimeout (context .Background (), 5 * time .Second )
99
+ defer cancel ()
100
+ req , err := http .NewRequestWithContext (ctx , http .MethodPost , url , bytes .NewReader (data ))
97
101
if err != nil {
98
102
return fmt .Errorf ("%s" , err )
99
103
}
100
104
req .Header .Add ("Content-Type" , "application/json" )
101
105
req .Header .Add ("User-Agent" , fmt .Sprintf ("Snek/%s" , version .GetVersionString ()))
106
+ // Setup custom transport to ignore self-signed SSL
107
+ defaultTransport := http .DefaultTransport .(* http.Transport )
108
+ customTransport := & http.Transport {
109
+ Proxy : defaultTransport .Proxy ,
110
+ DialContext : defaultTransport .DialContext ,
111
+ MaxIdleConns : defaultTransport .MaxIdleConns ,
112
+ IdleConnTimeout : defaultTransport .IdleConnTimeout ,
113
+ ExpectContinueTimeout : defaultTransport .ExpectContinueTimeout ,
114
+ TLSHandshakeTimeout : defaultTransport .TLSHandshakeTimeout ,
115
+ TLSClientConfig : & tls.Config {InsecureSkipVerify : true },
116
+ }
117
+ client := & http.Client {Transport : customTransport }
102
118
// Send payload
103
- resp , err := http . DefaultClient .Do (req )
119
+ resp , err := client .Do (req )
104
120
if err != nil {
105
121
return fmt .Errorf ("%s" , err )
106
122
}
0 commit comments