package test import ( "context" "net/http" "testing" "time" "github.com/stretchr/testify/require" ) type testTransport struct { t *testing.T } func (r *testTransport) RoundTrip(request *http.Request) (*http.Response, error) { response, err := http.DefaultTransport.RoundTrip(request) r.t.Logf("%v %v %v %v\n", request.Method, request.URL, response.StatusCode, err) return response, err } func HttpGet(t *testing.T, ctx context.Context, path string) *http.Response { client := &http.Client{ Timeout: 5 * time.Second, Transport: &testTransport{t: t}, } request, err := http.NewRequestWithContext(ctx, http.MethodGet, path, nil) require.NoError(t, err) response, err := client.Do(request) require.NoError(t, err) return response }