| package client | |
| import ( | |
| "net/http" | |
| ) | |
| type responseHookTransport struct { | |
| base http.RoundTripper | |
| hooks []ResponseHook | |
| } | |
| func (t *responseHookTransport) RoundTrip(req *http.Request) (*http.Response, error) { | |
| resp, err := t.base.RoundTrip(req) | |
| if err != nil { | |
| return resp, err | |
| } | |
| for _, h := range t.hooks { | |
| h(resp) | |
| } | |
| return resp, nil | |
| } |