code: func makeUpgradeTransport(config *rest.Config, keepalive time.Duration) (proxy.UpgradeRequestRoundTripper, error) {
  	transportConfig, err := config.TransportConfig()
  	if err != nil {
  		return nil, err
  	}
  	tlsConfig, err := transport.TLSConfigFor(transportConfig)
  	if err != nil {
  		return nil, err
  	}
  	rt := utilnet.SetOldTransportDefaults(&http.Transport{
  		TLSClientConfig: tlsConfig,
  		DialContext: (&net.Dialer{
  			Timeout:   30 * time.Second,
  			KeepAlive: keepalive,
  		}).DialContext,
  	})
  
  	upgrader, err := transport.HTTPWrappersForConfig(transportConfig, proxy.MirrorRequest)
  	if err != nil {
  		return nil, err
  	}
  	return proxy.NewUpgradeRequestRoundTripper(rt, upgrader), nil
  }
docs: // makeUpgradeTransport creates a transport that explicitly bypasses HTTP2 support
  // for proxy connections that must upgrade.