Merge pull request #13648 from tiborvass/print-debugtransport-to-test-output

registry: debugTransport should print with testing.T.Log
This commit is contained in:
Antonio Murdaca 2015-06-05 00:42:22 +02:00
commit e527060df2
2 changed files with 9 additions and 6 deletions

View file

@ -200,23 +200,26 @@ func DockerHeaders(metaHeaders http.Header) []transport.RequestModifier {
return modifiers return modifiers
} }
type debugTransport struct{ http.RoundTripper } type debugTransport struct {
http.RoundTripper
log func(...interface{})
}
func (tr debugTransport) RoundTrip(req *http.Request) (*http.Response, error) { func (tr debugTransport) RoundTrip(req *http.Request) (*http.Response, error) {
dump, err := httputil.DumpRequestOut(req, false) dump, err := httputil.DumpRequestOut(req, false)
if err != nil { if err != nil {
fmt.Println("could not dump request") tr.log("could not dump request")
} }
fmt.Println(string(dump)) tr.log(string(dump))
resp, err := tr.RoundTripper.RoundTrip(req) resp, err := tr.RoundTripper.RoundTrip(req)
if err != nil { if err != nil {
return nil, err return nil, err
} }
dump, err = httputil.DumpResponse(resp, false) dump, err = httputil.DumpResponse(resp, false)
if err != nil { if err != nil {
fmt.Println("could not dump response") tr.log("could not dump response")
} }
fmt.Println(string(dump)) tr.log(string(dump))
return resp, err return resp, err
} }

View file

@ -26,7 +26,7 @@ func spawnTestRegistrySession(t *testing.T) *Session {
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
var tr http.RoundTripper = debugTransport{NewTransport(ReceiveTimeout, endpoint.IsSecure)} var tr http.RoundTripper = debugTransport{NewTransport(ReceiveTimeout, endpoint.IsSecure), t.Log}
tr = transport.NewTransport(AuthTransport(tr, authConfig, false), DockerHeaders(nil)...) tr = transport.NewTransport(AuthTransport(tr, authConfig, false), DockerHeaders(nil)...)
client := HTTPClient(tr) client := HTTPClient(tr)
r, err := NewSession(client, authConfig, endpoint) r, err := NewSession(client, authConfig, endpoint)