From 7874d95addd6e9874d98a21b28f9deda1aac2fae Mon Sep 17 00:00:00 2001 From: wuhb Date: Thu, 28 Dec 2023 10:01:03 +0800 Subject: [PATCH 1/6] =?UTF-8?q?[=E6=96=B0=E5=A2=9E]=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E8=AE=BE=E7=BD=AEhttpClient?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/http.go | 23 ++++++++++++----------- wechat.go | 6 ++++++ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/util/http.go b/util/http.go index b364774..9182605 100644 --- a/util/http.go +++ b/util/http.go @@ -22,6 +22,8 @@ type URIModifier func(uri string) string var uriModifier URIModifier +var DefaultHTTPClient = http.DefaultClient + // SetURIModifier 设置URI修改器 func SetURIModifier(fn URIModifier) { uriModifier = fn @@ -41,7 +43,7 @@ func HTTPGetContext(ctx context.Context, uri string) ([]byte, error) { if err != nil { return nil, err } - response, err := http.DefaultClient.Do(request) + response, err := DefaultHTTPClient.Do(request) if err != nil { return nil, err } @@ -73,7 +75,7 @@ func HTTPPostContext(ctx context.Context, uri string, data []byte, header map[st request.Header.Set(key, value) } - response, err := http.DefaultClient.Do(request) + response, err := DefaultHTTPClient.Do(request) if err != nil { return nil, err } @@ -102,7 +104,7 @@ func PostJSONContext(ctx context.Context, uri string, obj interface{}) ([]byte, return nil, err } req.Header.Set("Content-Type", "application/json;charset=utf-8") - response, err := http.DefaultClient.Do(req) + response, err := DefaultHTTPClient.Do(req) if err != nil { return nil, err } @@ -129,7 +131,7 @@ func PostJSONWithRespContentType(uri string, obj interface{}) ([]byte, string, e return nil, "", err } - response, err := http.Post(uri, "application/json;charset=utf-8", jsonBuf) + response, err := DefaultHTTPClient.Post(uri, "application/json;charset=utf-8", jsonBuf) if err != nil { return nil, "", err } @@ -205,7 +207,7 @@ func PostMultipartForm(fields []MultipartFormField, uri string) (respBody []byte contentType := bodyWriter.FormDataContentType() bodyWriter.Close() - resp, e := http.Post(uri, contentType, bodyBuf) + resp, e := DefaultHTTPClient.Post(uri, contentType, bodyBuf) if e != nil { err = e return @@ -229,7 +231,7 @@ func PostXML(uri string, obj interface{}) ([]byte, error) { } body := bytes.NewBuffer(xmlData) - response, err := http.Post(uri, "application/xml;charset=utf-8", body) + response, err := DefaultHTTPClient.Post(uri, "application/xml;charset=utf-8", body) if err != nil { return nil, err } @@ -252,11 +254,10 @@ func httpWithTLS(rootCa, key string) (*http.Client, error) { config := &tls.Config{ Certificates: []tls.Certificate{cert}, } - tr := &http.Transport{ - TLSClientConfig: config, - DisableCompression: true, - } - client = &http.Client{Transport: tr} + trans := (DefaultHTTPClient.Transport.(*http.Transport)).Clone() + trans.TLSClientConfig = config + trans.DisableCompression = true + client = &http.Client{Transport: trans} return client, nil } diff --git a/wechat.go b/wechat.go index 29b86e0..f138683 100644 --- a/wechat.go +++ b/wechat.go @@ -1,6 +1,8 @@ package wechat import ( + "github.com/silenceper/wechat/v2/util" + "net/http" "os" log "github.com/sirupsen/logrus" @@ -81,3 +83,7 @@ func (wc *Wechat) GetWork(cfg *workConfig.Config) *work.Work { } return work.NewWork(cfg) } + +func (wc *Wechat) SetHttpClient(client *http.Client) { + util.DefaultHTTPClient = client +} From 17eb33ec57e165399dc79bc38fa527582c3f7326 Mon Sep 17 00:00:00 2001 From: lehaoqi Date: Thu, 28 Dec 2023 22:08:57 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/http.go | 1 + wechat.go | 1 + 2 files changed, 2 insertions(+) diff --git a/util/http.go b/util/http.go index 9182605..26e4a7b 100644 --- a/util/http.go +++ b/util/http.go @@ -22,6 +22,7 @@ type URIModifier func(uri string) string var uriModifier URIModifier +// DefaultHTTPClient 默认httpClient var DefaultHTTPClient = http.DefaultClient // SetURIModifier 设置URI修改器 diff --git a/wechat.go b/wechat.go index f138683..da9cd72 100644 --- a/wechat.go +++ b/wechat.go @@ -84,6 +84,7 @@ func (wc *Wechat) GetWork(cfg *workConfig.Config) *work.Work { return work.NewWork(cfg) } +// SetHttpClient 设置httpClient func (wc *Wechat) SetHttpClient(client *http.Client) { util.DefaultHTTPClient = client } From 738ae56e5c22eed1b889d451706c9e4d6a394fcb Mon Sep 17 00:00:00 2001 From: lehaoqi Date: Thu, 28 Dec 2023 22:11:58 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wechat.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wechat.go b/wechat.go index da9cd72..017ae1e 100644 --- a/wechat.go +++ b/wechat.go @@ -84,7 +84,7 @@ func (wc *Wechat) GetWork(cfg *workConfig.Config) *work.Work { return work.NewWork(cfg) } -// SetHttpClient 设置httpClient -func (wc *Wechat) SetHttpClient(client *http.Client) { +// SetHTTPClient 设置HTTPClient +func (wc *Wechat) SetHTTPClient(client *http.Client) { util.DefaultHTTPClient = client } From 21a8a8be7b558bab12440abd988643b908eef86a Mon Sep 17 00:00:00 2001 From: lehaoqi Date: Thu, 28 Dec 2023 22:15:57 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E5=8C=96imports?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/http.go | 3 ++- wechat.go | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/util/http.go b/util/http.go index 26e4a7b..f074769 100644 --- a/util/http.go +++ b/util/http.go @@ -7,13 +7,14 @@ import ( "encoding/json" "encoding/pem" "encoding/xml" - "fmt" "io" "log" "mime/multipart" "net/http" "os" + "fmt" + "golang.org/x/crypto/pkcs12" ) diff --git a/wechat.go b/wechat.go index 017ae1e..3e3b825 100644 --- a/wechat.go +++ b/wechat.go @@ -1,10 +1,11 @@ package wechat import ( - "github.com/silenceper/wechat/v2/util" "net/http" "os" + "github.com/silenceper/wechat/v2/util" + log "github.com/sirupsen/logrus" "github.com/silenceper/wechat/v2/cache" From 5ce54fa00342f3de17cb713b0a5b2852e79edbf7 Mon Sep 17 00:00:00 2001 From: wuhb Date: Fri, 29 Dec 2023 09:33:30 +0800 Subject: [PATCH 5/6] =?UTF-8?q?[fix]1.21.5=20=E5=92=8Cgolangci=20=E6=9C=89?= =?UTF-8?q?=E5=85=BC=E5=AE=B9=E6=80=A7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index c66040b..9d56eb5 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -10,7 +10,7 @@ jobs: golangci: strategy: matrix: - go-version: [ '1.16','1.17','1.18','1.19','1.20','1.21' ] + go-version: [ '1.16','1.17','1.18','1.19','1.20','1.21.4' ] name: golangci-lint runs-on: ubuntu-latest steps: From 707d4f91ce036453247c3c5dc350034aacfc66e8 Mon Sep 17 00:00:00 2001 From: wuhb Date: Mon, 1 Jan 2024 21:39:13 +0800 Subject: [PATCH 6/6] =?UTF-8?q?[fix]=E4=BC=98=E5=8C=96imports?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- util/http.go | 3 +-- wechat.go | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/util/http.go b/util/http.go index f074769..26e4a7b 100644 --- a/util/http.go +++ b/util/http.go @@ -7,14 +7,13 @@ import ( "encoding/json" "encoding/pem" "encoding/xml" + "fmt" "io" "log" "mime/multipart" "net/http" "os" - "fmt" - "golang.org/x/crypto/pkcs12" ) diff --git a/wechat.go b/wechat.go index 3e3b825..dc2585f 100644 --- a/wechat.go +++ b/wechat.go @@ -4,8 +4,6 @@ import ( "net/http" "os" - "github.com/silenceper/wechat/v2/util" - log "github.com/sirupsen/logrus" "github.com/silenceper/wechat/v2/cache" @@ -17,6 +15,7 @@ import ( openConfig "github.com/silenceper/wechat/v2/openplatform/config" "github.com/silenceper/wechat/v2/pay" payConfig "github.com/silenceper/wechat/v2/pay/config" + "github.com/silenceper/wechat/v2/util" "github.com/silenceper/wechat/v2/work" workConfig "github.com/silenceper/wechat/v2/work/config" )