Use clone of http.Transport defaults

This commit is contained in:
Ingo Oppermann
2023-07-07 11:23:41 +02:00
parent ccecbe3c8e
commit 97121f3ca5
4 changed files with 18 additions and 18 deletions

View File

@@ -369,10 +369,9 @@ func (c *APIClient) call(method, path, contentType string, data io.Reader, origi
func (c *APIClient) request(req *http.Request) (int, io.ReadCloser, error) { func (c *APIClient) request(req *http.Request) (int, io.ReadCloser, error) {
if c.Client == nil { if c.Client == nil {
tr := &http.Transport{ tr := http.DefaultTransport.(*http.Transport).Clone()
MaxIdleConns: 10, tr.MaxIdleConns = 10
IdleConnTimeout: 30 * time.Second, tr.IdleConnTimeout = 30 * time.Second
}
c.Client = &http.Client{ c.Client = &http.Client{
Transport: tr, Transport: tr,

View File

@@ -65,10 +65,9 @@ func New(config ForwarderConfig) (Forwarder, error) {
f.logger = log.New("") f.logger = log.New("")
} }
tr := &http.Transport{ tr := http.DefaultTransport.(*http.Transport).Clone()
MaxIdleConns: 10, tr.MaxIdleConns = 10
IdleConnTimeout: 30 * time.Second, tr.IdleConnTimeout = 30 * time.Second
}
client := &http.Client{ client := &http.Client{
Transport: tr, Transport: tr,

View File

@@ -53,12 +53,13 @@ func New(config Config) (API, error) {
} }
if a.client == nil { if a.client == nil {
tr := http.DefaultTransport.(*http.Transport).Clone()
tr.MaxIdleConns = 10
tr.IdleConnTimeout = 30 * time.Second
a.client = &http.Client{ a.client = &http.Client{
Transport: &http.Transport{ Transport: tr,
MaxIdleConns: 10, Timeout: 5 * time.Second,
IdleConnTimeout: 30 * time.Second,
},
Timeout: 5 * time.Second,
} }
} }

View File

@@ -147,12 +147,13 @@ func (s *checker) check() error {
CoreViewer: uint64(metrics.Value("session_active", "collector", "hls").Val() + metrics.Value("session_active", "collector", "rtmp").Val()), CoreViewer: uint64(metrics.Value("session_active", "collector", "hls").Val() + metrics.Value("session_active", "collector", "rtmp").Val()),
} }
tr := http.DefaultTransport.(*http.Transport).Clone()
tr.MaxIdleConns = 10
tr.IdleConnTimeout = 30 * time.Second
client := &http.Client{ client := &http.Client{
Transport: &http.Transport{ Transport: tr,
MaxIdleConns: 10, Timeout: 5 * time.Second,
IdleConnTimeout: 30 * time.Second,
},
Timeout: 5 * time.Second,
} }
var data bytes.Buffer var data bytes.Buffer