Honor header override in hostname verification

pull/268/head
zeeZ 2019-10-25 23:05:26 +02:00
parent 5469c01fff
commit 5bdc254bef
1 changed files with 4 additions and 1 deletions

View File

@ -286,12 +286,15 @@ func HttpRequest(url, method string, content interface{}, headers []string, body
if content != nil { if content != nil {
req.Header.Set("Content-Type", content.(string)) req.Header.Set("Content-Type", content.(string))
} }
verifyHost := req.URL.Hostname()
for _, h := range headers { for _, h := range headers {
keyVal := strings.Split(h, "=") keyVal := strings.Split(h, "=")
if len(keyVal) == 2 { if len(keyVal) == 2 {
if keyVal[0] != "" && keyVal[1] != "" { if keyVal[0] != "" && keyVal[1] != "" {
if strings.ToLower(keyVal[0]) == "host" { if strings.ToLower(keyVal[0]) == "host" {
req.Host = strings.TrimSpace(keyVal[1]) req.Host = strings.TrimSpace(keyVal[1])
verifyHost = req.Host
} else { } else {
req.Header.Set(keyVal[0], keyVal[1]) req.Header.Set(keyVal[0], keyVal[1])
} }
@ -308,7 +311,7 @@ func HttpRequest(url, method string, content interface{}, headers []string, body
transport := &http.Transport{ transport := &http.Transport{
TLSClientConfig: &tls.Config{ TLSClientConfig: &tls.Config{
InsecureSkipVerify: !verifySSL, InsecureSkipVerify: !verifySSL,
ServerName: req.URL.Hostname(), ServerName: verifyHost,
}, },
DisableKeepAlives: true, DisableKeepAlives: true,
ResponseHeaderTimeout: timeout, ResponseHeaderTimeout: timeout,