The code in net/http/transport.go (onceSetNextProtoDefaults) contain:
if t.TLSClientConfig != nil || t.Dial != nil || t.DialTLS != nil {
// Be conservative and don't automatically enable
// http2 if they've specified a custom TLS config or
// custom dialers. Let them opt-in themselves via
// http2.ConfigureTransport so we don't surprise them
// by modifying their tls.Config. Issue 14275.
return
}
Stating that if you did something non-standard in the dialer or TLS you don't get http2 by default.
But the suggested opt-in methods does not exist (was replace by the non-public http2ConfigureTransport.
The net/http documentation only specify opting out, but is there a way to opt-in?
Moshe