fix(webhook): fix the verify cert logic of webhook endpoint (#13032)

Signed-off-by: chlins <chlins.zhang@gmail.com>

Co-authored-by: chlins <chlins.zhang@gmail.com>
This commit is contained in:
Daniel Jiang 2020-09-11 12:35:14 +08:00 committed by GitHub
parent 804a76d5e7
commit 0c5db69240
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 14 additions and 23 deletions

View File

@ -31,11 +31,3 @@ func init() {
Transport: commonhttp.GetHTTPTransport(commonhttp.InsecureTransport),
}
}
// GetHTTPInstance ...
func GetHTTPInstance(insec bool) *http.Client {
if insec {
return httpHelper.clients[insecure]
}
return httpHelper.clients[secure]
}

View File

@ -1,15 +1,16 @@
package notification
import (
"github.com/stretchr/testify/assert"
"testing"
"github.com/stretchr/testify/assert"
)
func TestHttpHelper(t *testing.T) {
c1 := GetHTTPInstance(true)
c1 := httpHelper.clients[insecure]
assert.NotNil(t, c1)
c2 := GetHTTPInstance(false)
c2 := httpHelper.clients[secure]
assert.NotNil(t, c2)
_, ok := httpHelper.clients["notExists"]

View File

@ -93,13 +93,12 @@ func (sj *SlackJob) Run(ctx job.Context, params job.Parameters) error {
func (sj *SlackJob) init(ctx job.Context, params map[string]interface{}) error {
sj.logger = ctx.GetLogger()
// default use insecure transport
sj.client = GetHTTPInstance(true)
// default use secure transport
sj.client = httpHelper.clients[secure]
if v, ok := params["skip_cert_verify"]; ok {
if insecure, ok := v.(bool); ok {
if insecure {
sj.client = GetHTTPInstance(false)
}
if skipCertVerify, ok := v.(bool); ok && skipCertVerify {
// if skip cert verify is true, it means not verify remote cert, use insecure client
sj.client = httpHelper.clients[insecure]
}
}
return nil

View File

@ -71,13 +71,12 @@ func (wj *WebhookJob) init(ctx job.Context, params map[string]interface{}) error
wj.logger = ctx.GetLogger()
wj.ctx = ctx
// default use insecure transport
wj.client = GetHTTPInstance(true)
// default use secure transport
wj.client = httpHelper.clients[secure]
if v, ok := params["skip_cert_verify"]; ok {
if insecure, ok := v.(bool); ok {
if insecure {
wj.client = GetHTTPInstance(false)
}
if skipCertVerify, ok := v.(bool); ok && skipCertVerify {
// if skip cert verify is true, it means not verify remote cert, use insecure client
wj.client = httpHelper.clients[insecure]
}
}
return nil