diff --git a/scaletest/loadtestutil/client.go b/scaletest/loadtestutil/client.go index 797139c6ad..144b990089 100644 --- a/scaletest/loadtestutil/client.go +++ b/scaletest/loadtestutil/client.go @@ -41,5 +41,11 @@ func extractHeaderAndInnerTransport(rt http.RoundTripper) (http.Header, *http.Tr maps.Copy(headers, ht.Header) return headers, t, nil } - return nil, nil, xerrors.New("round tripper is neither HeaderTransport nor Transport") + // unrecognized RoundTripper. Just return a default transport, since we only care about preserving headers. + t, ok := http.DefaultTransport.(*http.Transport) + if !ok { + // unhittable, unless the Go stdlib changes. + return nil, nil, xerrors.New("DefaultTransport is not *http.Transport") + } + return make(http.Header), t, nil } diff --git a/scaletest/loadtestutil/client_test.go b/scaletest/loadtestutil/client_test.go index e1379d33ea..0372e9fc2b 100644 --- a/scaletest/loadtestutil/client_test.go +++ b/scaletest/loadtestutil/client_test.go @@ -20,6 +20,7 @@ func TestDupClientCopyingHeaders(t *testing.T) { Header: map[string][]string{ "X-Coder-Test": {"foo"}, "X-Coder-Test3": {"socks"}, + "X-Coder-Test5": {"ninjas"}, }, }, Header: map[string][]string{ @@ -46,5 +47,6 @@ func TestDupClientCopyingHeaders(t *testing.T) { require.Equal(t, "baz", ht.Header.Get("X-Coder-Test2")) require.Equal(t, "clocks", ht.Header.Get("X-Coder-Test3")) require.Equal(t, "bears", ht.Header.Get("X-Coder-Test4")) + require.Equal(t, "ninjas", ht.Header.Get("X-Coder-Test5")) require.NotEqual(t, http.DefaultTransport, ht.Transport) }