mirror of
https://github.com/goharbor/harbor.git
synced 2024-11-05 18:20:37 +01:00
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:
parent
804a76d5e7
commit
0c5db69240
@ -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]
|
||||
}
|
||||
|
@ -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"]
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user