我有以下简单:http.Client
import (
"net/http"
"log"
)
...
func main() {
...
link = "http://example.com"
method = "GET"
req, _ := http.NewRequest(method, link, nil)
client := &http.Client{}
myZapLogger.Info("Sending a %s request to %s\n", method, link)
resp, err := client.Do(req)
if err != nil {
myZapLogger.Error(..., err) // I'm logging rather than fatal-ing or so
} else {
myZapLogger.Info("Received a %d on request X", resp.StatusCode)
}
...
}
...
我正在寻找一种方法,通过钩子(左右)为每个请求执行上述操作,以便每次都自动触发。我可以编写一个包含所有这些内容的函数,但是如果我将http客户端传递给其他软件包,我将无法以这种方式控制/记录此类请求(例如)。aws-go-sdk
有没有办法通过上下文或将钩子附加到客户端来执行此操作?
素胚勾勒不出你
相关分类