1// Copyright 2018 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5//go:build !js
6
7package http
8
9import _ "unsafe" // for linkname
10
11// RoundTrip should be an internal detail,
12// but widely used packages access it using linkname.
13// Notable members of the hall of shame include:
14//   - github.com/erda-project/erda-infra
15//
16// Do not remove or change the type signature.
17// See go.dev/issue/67401.
18//
19//go:linkname badRoundTrip net/http.(*Transport).RoundTrip
20func badRoundTrip(*Transport, *Request) (*Response, error)
21
22// RoundTrip implements the [RoundTripper] interface.
23//
24// For higher-level HTTP client support (such as handling of cookies
25// and redirects), see [Get], [Post], and the [Client] type.
26//
27// Like the RoundTripper interface, the error types returned
28// by RoundTrip are unspecified.
29func (t *Transport) RoundTrip(req *Request) (*Response, error) {
30	return t.roundTrip(req)
31}
32