api: Add ability to CloseIdleConnection for one-off httpClient use cases. (#1513)
Signed-off-by: cuisongliu <cuisongliu@qq.com>
This commit is contained in:
parent
a5e134014f
commit
89f21b2cba
|
@ -79,6 +79,10 @@ type Client interface {
|
||||||
Do(context.Context, *http.Request) (*http.Response, []byte, error)
|
Do(context.Context, *http.Request) (*http.Response, []byte, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type CloseIdler interface {
|
||||||
|
CloseIdleConnections()
|
||||||
|
}
|
||||||
|
|
||||||
// NewClient returns a new Client.
|
// NewClient returns a new Client.
|
||||||
//
|
//
|
||||||
// It is safe to use the returned Client from multiple goroutines.
|
// It is safe to use the returned Client from multiple goroutines.
|
||||||
|
@ -118,6 +122,10 @@ func (c *httpClient) URL(ep string, args map[string]string) *url.URL {
|
||||||
return &u
|
return &u
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *httpClient) CloseIdleConnections() {
|
||||||
|
c.client.CloseIdleConnections()
|
||||||
|
}
|
||||||
|
|
||||||
func (c *httpClient) Do(ctx context.Context, req *http.Request) (*http.Response, []byte, error) {
|
func (c *httpClient) Do(ctx context.Context, req *http.Request) (*http.Response, []byte, error) {
|
||||||
if ctx != nil {
|
if ctx != nil {
|
||||||
req = req.WithContext(ctx)
|
req = req.WithContext(ctx)
|
||||||
|
|
Loading…
Reference in New Issue