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, }, }, } }