This commit is contained in:
kzkzzzz
2026-02-27 00:23:10 +08:00
parent 7b2f9f90a6
commit cdee211a66
6 changed files with 93 additions and 5 deletions

View File

@@ -9,6 +9,7 @@ import (
"net/http"
"net/http/cookiejar"
"net/url"
"slices"
"strings"
"time"
@@ -18,25 +19,35 @@ import (
)
var (
defaultClient *HttpClient
defaultClient *HttpClient
defaultNoRedirectClient *HttpClient
)
func init() {
defaultClient = New()
defaultNoRedirectClient = New(WithNoRedirect())
}
func ReInitDefault(timeout time.Duration) {
defaultClient = New(WithTimout(timeout))
defaultNoRedirectClient = New(WithNoRedirect(), WithTimout(timeout))
}
func ReInitDefaultOpt(opts ...ConfigOpt) {
defaultClient = New(opts...)
defaultNoRedirectClient = New(slices.Concat([]ConfigOpt{WithNoRedirect()}, opts)...)
}
func Client() *HttpClient {
return defaultClient
}
func NoRedirectClient() *HttpClient {
return defaultNoRedirectClient
}
func NewTransport(maxConn int, idleTimeout time.Duration) *http.Transport {
if maxConn <= 0 {
panic("max connection <= 0")