Revert "TUN-1736: Missing headers when passing an invalid path"

This reverts commit 3c93d9b300.
This commit is contained in:
Areg Harutyunyan
2019-08-06 16:35:41 -05:00
parent fd4ab314dc
commit 5afbb3fd6d
2 changed files with 10 additions and 78 deletions

View File

@@ -45,7 +45,16 @@ func H2RequestHeadersToH1Request(h2 []h2mux.Header, h1 *http.Request) error {
// Otherwise the host header will be based on the origin URL
h1.Host = header.Value
case ":path":
h1.URL.Path = header.Value
u, err := url.Parse(header.Value)
if err != nil {
return fmt.Errorf("unparseable path")
}
resolved := h1.URL.ResolveReference(u)
// prevent escaping base URL
if !strings.HasPrefix(resolved.String(), h1.URL.String()) {
return fmt.Errorf("invalid path")
}
h1.URL = resolved
case "content-length":
contentLength, err := strconv.ParseInt(header.Value, 10, 64)
if err != nil {