control/controlclient: make js/wasm work with Go 1.18+
Updates
@@ -146,6 +146,13 @@ func NewDirect(opts Options) (*Direct, error) {
}
httpc := opts.HTTPTestClient
+ if httpc == nil && runtime.GOOS == "js" {
+ // In js/wasm, net/http.Transport (as of Go 1.18) will
+ // only use the browser's Fetch API if you're using
+ // the DefaultClient (or a client without dial hooks
+ // etc set).
+ httpc = http.DefaultClient
+ }
if httpc == nil {
dnsCache := &dnscache.Resolver{
Forward: dnscache.Get().Forward, // use default cache's forwarder
