5
5
"context"
6
6
"io"
7
7
"net/http"
8
+ "net/url"
8
9
"sync"
9
10
"time"
10
11
@@ -41,19 +42,26 @@ func SendMultiPostRequest(urls []string, data []byte) {
41
42
wg .Wait ()
42
43
}
43
44
44
- func SendPostRequest (url string , data []byte , wg * sync.WaitGroup ) (body []byte , err error ) {
45
+ func SendPostRequest (postURL string , data []byte , wg * sync.WaitGroup ) (body []byte , err error ) {
45
46
if wg != nil {
46
47
defer wg .Done ()
47
48
}
48
49
var resp * http.Response
50
+ u , err := url .Parse (postURL )
51
+ if err != nil {
52
+ return nil , err
53
+ }
54
+ if u .Scheme == "" {
55
+ u .Scheme = "https"
56
+ }
49
57
for i := 0 ; i < MAX_RETRIES ; i ++ {
50
58
var (
51
59
req * http.Request
52
60
ctx context.Context
53
61
cncl context.CancelFunc
54
62
)
55
63
56
- req , ctx , cncl , err = NewHTTPRequest (http .MethodPost , url , data )
64
+ req , ctx , cncl , err = NewHTTPRequest (http .MethodPost , u . String () , data )
57
65
defer cncl ()
58
66
59
67
resp , err = http .DefaultClient .Do (req .WithContext (ctx ))
@@ -71,7 +79,7 @@ func SendPostRequest(url string, data []byte, wg *sync.WaitGroup) (body []byte,
71
79
time .Sleep (SLEEP_BETWEEN_RETRIES * time .Second )
72
80
}
73
81
if resp == nil || err != nil {
74
- Logger .Error ("Failed after multiple retries" , zap .Any ("url" , url ), zap .Int ("retried" , MAX_RETRIES ), zap .Error (err ))
82
+ Logger .Error ("Failed after multiple retries" , zap .Any ("url" , u . String () ), zap .Int ("retried" , MAX_RETRIES ), zap .Error (err ))
75
83
return nil , err
76
84
}
77
85
if resp .Body == nil {
0 commit comments