Merge pull request #1360 from nogoegst/request-host-fix

Use http.Request.Host only for authority header and not for dialing
This commit is contained in:
Marten Seemann
2018-06-01 18:28:11 +08:00
committed by GitHub
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"))
})