forked from quic-go/quic-go
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:
@@ -70,9 +70,6 @@ func requestFromHeaders(headers []hpack.HeaderField) (*http.Request, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func hostnameFromRequest(req *http.Request) string {
|
func hostnameFromRequest(req *http.Request) string {
|
||||||
if len(req.Host) > 0 {
|
|
||||||
return req.Host
|
|
||||||
}
|
|
||||||
if req.URL != nil {
|
if req.URL != nil {
|
||||||
return req.URL.Host
|
return req.URL.Host
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -101,16 +101,16 @@ var _ = Describe("Request", func() {
|
|||||||
Expect(err).ToNot(HaveOccurred())
|
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{
|
req := &http.Request{
|
||||||
Host: "www.example.org",
|
Host: "www.example.org",
|
||||||
URL: url,
|
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"))
|
Expect(hostnameFromRequest(req)).To(Equal("quic.clemente.io:1337"))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user