41 lines
656 B
Go
41 lines
656 B
Go
package httpClient
|
|
|
|
import (
|
|
"net/http"
|
|
"time"
|
|
)
|
|
|
|
type HttpClient struct {
|
|
client *http.Client
|
|
endpoint string
|
|
token string
|
|
logger loggerInstance
|
|
}
|
|
|
|
func (t *HttpClient) Close() error {
|
|
if transport, ok := t.client.Transport.(*http.Transport); ok {
|
|
transport.CloseIdleConnections()
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func Init(
|
|
loggerInstance loggerInstance,
|
|
endpoint, token string,
|
|
) *HttpClient {
|
|
return &HttpClient{
|
|
logger: loggerInstance,
|
|
|
|
endpoint: endpoint,
|
|
token: token,
|
|
|
|
client: &http.Client{
|
|
Timeout: 50 * time.Second,
|
|
Transport: &http.Transport{
|
|
MaxIdleConns: 20,
|
|
IdleConnTimeout: 190 * time.Second,
|
|
},
|
|
},
|
|
}
|
|
}
|