3 Star 7 Fork 1

Gitee 极速下载/wechat-go

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/blusewang/wechat
克隆/下载
http_client.go 1021 Bytes
一键复制 编辑 原始数据 按行查看 历史
jf 提交于 3年前 . 共用一个http.Client实例
// Copyright 2021 YBCZ, Inc. All rights reserved.
//
// Use of this source code is governed by a MIT license
// that can be found in the LICENSE file in the root of the source
// tree.
package wx
import (
"bytes"
"io/ioutil"
"net/http"
"time"
)
var _hook func(req *http.Request, reqBody []byte, res *http.Response, startAt time.Time, stopAt time.Time, err error)
type mt struct {
t http.Transport
}
func (m *mt) RoundTrip(req *http.Request) (res *http.Response, err error) {
var reqBody []byte
if req.Body != nil {
reqBody, _ = ioutil.ReadAll(req.Body)
req.Body = ioutil.NopCloser(bytes.NewReader(reqBody))
}
t := time.Now()
res, err = m.t.RoundTrip(req)
if _hook != nil {
_hook(req, reqBody, res, t, time.Now(), err)
}
return
}
var c *http.Client
func client() *http.Client {
if c == nil {
c = &http.Client{Transport: &mt{}}
}
return c
}
func RegisterHook(hook func(req *http.Request, reqBody []byte, res *http.Response, startAt time.Time, stopAt time.Time, err error)) {
_hook = hook
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors/wechat-go.git
git@gitee.com:mirrors/wechat-go.git
mirrors
wechat-go
wechat-go
master

搜索帮助