wechat icon indicating copy to clipboard operation
wechat copied to clipboard

[BUG] panic: interface conversion: http.RoundTripper is nil, not *http.Transport

Open febelery opened this issue 1 year ago • 4 comments

使用的版本

  • SDK 版本:v2.1.7

报错文件 util/http.go#293

// httpWithTLS CA 证书
func httpWithTLS(rootCa, key string) (*http.Client, error) {
	var client *http.Client
	certData, err := os.ReadFile(rootCa)
	if err != nil {
		return nil, fmt.Errorf("unable to find cert path=%s, error=%v", rootCa, err)
	}
	cert := pkcs12ToPem(certData, key)
	config := &tls.Config{
		Certificates: []tls.Certificate{cert},
	}
	trans := (DefaultHTTPClient.Transport.(*http.Transport)).Clone()
	trans.TLSClientConfig = config
	trans.DisableCompression = true
	client = &http.Client{Transport: trans}
	return client, nil
}

trans := (DefaultHTTPClient.Transport.(*http.Transport)).Clone()

DefaultHTTPClient.Transport 这个为nil

复现地址

https://go.dev/play/p/3a4o6ObftCg

febelery avatar Oct 18 '24 07:10 febelery

util/http.go 文件第26行可以改成

var DefaultHTTPClient = &http.Client{
    Transport: http.DefaultTransport,
}

febelery avatar Oct 18 '24 07:10 febelery

欢迎贡献PR

houseme avatar Oct 19 '24 02:10 houseme

遇到同样的问题,这个为什么还不修复?

allall2012 avatar May 14 '25 05:05 allall2012

遇到同样的问题,这个为什么还不修复?

欢迎贡献PR

houseme avatar May 14 '25 06:05 houseme

fixed in #844

silenceper avatar Jul 23 '25 15:07 silenceper