Files
upkg/tool/http.go
2026-01-28 10:28:13 +08:00

36 lines
633 B
Go

package tool
import (
"crypto/tls"
"net/http"
"net/url"
)
func NewClient(skipTlsVerify bool, proxy string) *http.Client {
client := &http.Client{}
// Configure TLS
if skipTlsVerify {
transport := &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client.Transport = transport
}
// Configure proxy
if proxy != "" {
proxyURL, err := url.Parse(proxy)
if err == nil {
if client.Transport == nil {
client.Transport = &http.Transport{}
}
if transport, ok := client.Transport.(*http.Transport); ok {
transport.Proxy = http.ProxyURL(proxyURL)
}
}
}
return client
}