|
@@ -1,8 +1,10 @@
|
|
|
package clt_client
|
|
package clt_client
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
|
+ "net"
|
|
|
"net/http"
|
|
"net/http"
|
|
|
"sync"
|
|
"sync"
|
|
|
|
|
+ "time"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
var once sync.Once
|
|
var once sync.Once
|
|
@@ -11,7 +13,20 @@ var CltClient cltclient
|
|
|
func GetClient() cltclient {
|
|
func GetClient() cltclient {
|
|
|
once.Do(func() {
|
|
once.Do(func() {
|
|
|
CltClient = cltclient{
|
|
CltClient = cltclient{
|
|
|
- http.Client{},
|
|
|
|
|
|
|
+ HttpClient: http.Client{
|
|
|
|
|
+ Timeout: 30 * time.Second,
|
|
|
|
|
+ Transport: &http.Transport{
|
|
|
|
|
+ DialContext: (&net.Dialer{
|
|
|
|
|
+ Timeout: 3 * time.Second,
|
|
|
|
|
+ KeepAlive: 30 * time.Second,
|
|
|
|
|
+ }).DialContext,
|
|
|
|
|
+ MaxIdleConns: 100,
|
|
|
|
|
+ MaxIdleConnsPerHost: 10,
|
|
|
|
|
+ IdleConnTimeout: 90 * time.Second,
|
|
|
|
|
+ TLSHandshakeTimeout: 5 * time.Second,
|
|
|
|
|
+ ExpectContinueTimeout: 1 * time.Second,
|
|
|
|
|
+ },
|
|
|
|
|
+ },
|
|
|
}
|
|
}
|
|
|
CltClient.LoadVsn()
|
|
CltClient.LoadVsn()
|
|
|
})
|
|
})
|