Use url.ParseRequestURI instead of url.Parse.
Otherwise it will be interpreted as a path without a scheme
which will result in '//some_path' parsed as url.Host:somepath and empty
url.Path
Read([]byte{}) returns immediately, whereas Read([]byte{0}) blocks until
the stream is actually closed. This make as difference if the STREAM
frame with the FIN is received after the HTTP handler returned.