Use http.Request.Host only for authority header and not for dialing

Signed-off-by: Ivan Markin <sw@nogoegst.net>
This commit is contained in:
Ivan Markin
2018-05-15 20:51:57 +00:00
parent 407a563c73
commit 350a663115
2 changed files with 6 additions and 9 deletions

View File

@@ -70,9 +70,6 @@ func requestFromHeaders(headers []hpack.HeaderField) (*http.Request, error) {
}
func hostnameFromRequest(req *http.Request) string {
if len(req.Host) > 0 {
return req.Host
}
if req.URL != nil {
return req.URL.Host
}

View File

@@ -101,16 +101,16 @@ var _ = Describe("Request", func() {
Expect(err).ToNot(HaveOccurred())
})
It("uses req.Host if available", func() {
It("uses req.URL.Host", func() {
req := &http.Request{URL: url}
Expect(hostnameFromRequest(req)).To(Equal("quic.clemente.io:1337"))
})
It("uses req.URL.Host even if req.Host is available", func() {
req := &http.Request{
Host: "www.example.org",
URL: url,
}
Expect(hostnameFromRequest(req)).To(Equal("www.example.org"))
})
It("uses req.URL.Host if req.Host is not set", func() {
req := &http.Request{URL: url}
Expect(hostnameFromRequest(req)).To(Equal("quic.clemente.io:1337"))
})