瀏覽代碼

control/controlclient: make js/wasm work with Go 1.18+

Updates #3157

Change-Id: I2d67e582842ab3638d720bb5db4701b878ad4473
Signed-off-by: Brad Fitzpatrick <[email protected]>
Brad Fitzpatrick 4 年之前
父節點
當前提交
ad63fc0510
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      control/controlclient/direct.go

+ 7 - 0
control/controlclient/direct.go

@@ -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