tech: avoid using http.DefaultClient

pull/7670/head
bergquist 8 years ago
parent 03354bc49a
commit 05952688c5
  1. 16
      pkg/components/imguploader/webdavuploader.go
  2. 15
      pkg/services/notifications/webhook.go

@ -4,9 +4,11 @@ import (
"bytes"
"fmt"
"io/ioutil"
"net"
"net/http"
"net/url"
"path"
"time"
"github.com/grafana/grafana/pkg/util"
)
@ -17,6 +19,18 @@ type WebdavUploader struct {
password string
}
var netTransport = &http.Transport{
Dial: (&net.Dialer{
Timeout: 60 * time.Second,
}).Dial,
TLSHandshakeTimeout: 5 * time.Second,
}
var netClient = &http.Client{
Timeout: time.Second * 60,
Transport: netTransport,
}
func (u *WebdavUploader) Upload(pa string) (string, error) {
url, _ := url.Parse(u.url)
url.Path = path.Join(url.Path, util.GetRandomString(20)+".png")
@ -28,7 +42,7 @@ func (u *WebdavUploader) Upload(pa string) (string, error) {
req.SetBasicAuth(u.username, u.password)
}
res, err := http.DefaultClient.Do(req)
res, err := netClient.Do(req)
if err != nil {
return "", err

@ -5,7 +5,9 @@ import (
"context"
"fmt"
"io/ioutil"
"net"
"net/http"
"time"
"golang.org/x/net/context/ctxhttp"
@ -22,6 +24,17 @@ type Webhook struct {
HttpHeader map[string]string
}
var netTransport = &http.Transport{
Dial: (&net.Dialer{
Timeout: 30 * time.Second,
}).Dial,
TLSHandshakeTimeout: 5 * time.Second,
}
var netClient = &http.Client{
Timeout: time.Second * 30,
Transport: netTransport,
}
var (
webhookQueue chan *Webhook
webhookLog log.Logger
@ -68,7 +81,7 @@ func sendWebRequestSync(ctx context.Context, webhook *Webhook) error {
request.Header.Set(k, v)
}
resp, err := ctxhttp.Do(ctx, http.DefaultClient, request)
resp, err := ctxhttp.Do(ctx, netClient, request)
if err != nil {
return err
}

Loading…
Cancel
Save