Patch up HTTP clients

This commit is contained in:
Audrius Butkevicius 2015-10-13 19:52:22 +01:00
parent db494f2afc
commit abbcd1f436
5 changed files with 21 additions and 0 deletions

View File

@ -30,6 +30,7 @@ import (
"github.com/syncthing/syncthing/lib/config" "github.com/syncthing/syncthing/lib/config"
"github.com/syncthing/syncthing/lib/connections" "github.com/syncthing/syncthing/lib/connections"
"github.com/syncthing/syncthing/lib/db" "github.com/syncthing/syncthing/lib/db"
"github.com/syncthing/syncthing/lib/dialer"
"github.com/syncthing/syncthing/lib/discover" "github.com/syncthing/syncthing/lib/discover"
"github.com/syncthing/syncthing/lib/events" "github.com/syncthing/syncthing/lib/events"
"github.com/syncthing/syncthing/lib/logger" "github.com/syncthing/syncthing/lib/logger"
@ -432,6 +433,8 @@ func upgradeViaRest() error {
r.Header.Set("X-API-Key", cfg.GUI().APIKey) r.Header.Set("X-API-Key", cfg.GUI().APIKey)
tr := &http.Transport{ tr := &http.Transport{
Dial: dialer.Dial,
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
} }
client := &http.Client{ client := &http.Client{

View File

@ -8,6 +8,7 @@ package dialer
import ( import (
"net" "net"
"net/http"
"os" "os"
"strings" "strings"
"time" "time"
@ -26,6 +27,12 @@ var (
func init() { func init() {
l.SetDebug("dialer", strings.Contains(os.Getenv("STTRACE"), "dialer") || os.Getenv("STTRACE") == "all") l.SetDebug("dialer", strings.Contains(os.Getenv("STTRACE"), "dialer") || os.Getenv("STTRACE") == "all")
if usingProxy { if usingProxy {
http.DefaultTransport = &http.Transport{
Dial: Dial,
Proxy: http.ProxyFromEnvironment,
TLSHandshakeTimeout: 10 * time.Second,
}
// Defer this, so that logging gets setup. // Defer this, so that logging gets setup.
go func() { go func() {
time.Sleep(500 * time.Millisecond) time.Sleep(500 * time.Millisecond)

View File

@ -18,6 +18,7 @@ import (
stdsync "sync" stdsync "sync"
"time" "time"
"github.com/syncthing/syncthing/lib/dialer"
"github.com/syncthing/syncthing/lib/events" "github.com/syncthing/syncthing/lib/events"
"github.com/syncthing/syncthing/lib/protocol" "github.com/syncthing/syncthing/lib/protocol"
) )
@ -73,6 +74,8 @@ func NewGlobal(server string, cert tls.Certificate, addrList AddressLister, rela
// certificate depending on the insecure setting. // certificate depending on the insecure setting.
var announceClient httpClient = &http.Client{ var announceClient httpClient = &http.Client{
Transport: &http.Transport{ Transport: &http.Transport{
Dial: dialer.Dial,
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{ TLSClientConfig: &tls.Config{
InsecureSkipVerify: opts.insecure, InsecureSkipVerify: opts.insecure,
Certificates: []tls.Certificate{cert}, Certificates: []tls.Certificate{cert},
@ -87,6 +90,8 @@ func NewGlobal(server string, cert tls.Certificate, addrList AddressLister, rela
// certificate here, so lets not include it. May be insecure if requested. // certificate here, so lets not include it. May be insecure if requested.
var queryClient httpClient = &http.Client{ var queryClient httpClient = &http.Client{
Transport: &http.Transport{ Transport: &http.Transport{
Dial: dialer.Dial,
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{ TLSClientConfig: &tls.Config{
InsecureSkipVerify: opts.insecure, InsecureSkipVerify: opts.insecure,
}, },

View File

@ -26,6 +26,7 @@ import (
"time" "time"
"github.com/syncthing/syncthing/lib/config" "github.com/syncthing/syncthing/lib/config"
"github.com/syncthing/syncthing/lib/dialer"
"github.com/syncthing/syncthing/lib/protocol" "github.com/syncthing/syncthing/lib/protocol"
"github.com/syncthing/syncthing/lib/sync" "github.com/syncthing/syncthing/lib/sync"
) )
@ -156,6 +157,8 @@ func (p *Process) Get(path string) ([]byte, error) {
client := &http.Client{ client := &http.Client{
Timeout: 30 * time.Second, Timeout: 30 * time.Second,
Transport: &http.Transport{ Transport: &http.Transport{
Dial: dialer.Dial,
Proxy: http.ProxyFromEnvironment,
DisableKeepAlives: true, DisableKeepAlives: true,
}, },
} }

View File

@ -26,6 +26,7 @@ import (
"sort" "sort"
"strings" "strings"
"github.com/syncthing/syncthing/lib/dialer"
"github.com/syncthing/syncthing/lib/signature" "github.com/syncthing/syncthing/lib/signature"
) )
@ -38,6 +39,8 @@ const DisabledByCompilation = false
// binary contents before accepting the upgrade. // binary contents before accepting the upgrade.
var insecureHTTP = &http.Client{ var insecureHTTP = &http.Client{
Transport: &http.Transport{ Transport: &http.Transport{
Dial: dialer.Dial,
Proxy: http.ProxyFromEnvironment,
TLSClientConfig: &tls.Config{ TLSClientConfig: &tls.Config{
InsecureSkipVerify: true, InsecureSkipVerify: true,
}, },