github.com/qiniu/go-sdk/v7@v7.27.0/qvs/util.go (about) 1 package qvs 2 3 import ( 4 "net/http" 5 6 "github.com/qiniu/go-sdk/v7/auth" 7 ) 8 9 // --------------------------------------------------------------------------------------- 10 11 type transport struct { 12 http.RoundTripper 13 mac *auth.Credentials 14 } 15 16 func newTransport(mac *auth.Credentials, tr http.RoundTripper) *transport { 17 if tr == nil { 18 tr = http.DefaultTransport 19 } 20 return &transport{tr, mac} 21 } 22 23 func (t *transport) RoundTrip(req *http.Request) (resp *http.Response, err error) { 24 token, err := t.mac.SignRequestV2(req) 25 if err != nil { 26 return 27 } 28 req.Header.Set("Authorization", "Qiniu "+token) 29 return t.RoundTripper.RoundTrip(req) 30 }