> ```go
> type Transport struct {
> idleMu sync.Mutex
> wantIdle bool
> idleConn map[connectMethodKey][]*persistConn
> idleConnCh map[connectMethodKey]chan *persistConn
> idleLRU connLRU
> reqMu sync.Mutex
> reqCanceler map[*Request]func(error)
> altMu sync.Mutex
> altProto atomic.Value
> Proxy func(*Request) (*url.URL, error)
> DialContext func(ctx context.Context, network, addr string) (net.Conn, error)
> Dial func(network, addr string) (net.Conn, error)
> DialTLS func(network, addr string) (net.Conn, error)
> TLSClientConfig *tls.Config
> TLSHandshakeTimeout time.Duration
> DisableKeepAlives bool
> DisableCompression bool
> MaxIdleConns int
> MaxIdleConnsPerHost int
> IdleConnTimeout time.Duration
> ResponseHeaderTimeout time.Duration
> ExpectContinueTimeout time.Duration
> TLSNextProto map[string]func(authority string, c *tls.Conn) RoundTripper
> ProxyConnectHeader Header
> MaxResponseHeaderBytes int64
> nextProtoOnce sync.Once
> h2transport *http2Transport
> }
>