all repos — homestead @ 3702557111a38384668aaddbe8f777b0665feaa1

Code for my website

fix Host weirdness on fly with h2c

Alan Pearce
commit

3702557111a38384668aaddbe8f777b0665feaa1

parent

ace51105e958444ad8f63b2b1d418ca9e0e9239c

1 file changed, 6 insertions(+), 0 deletions(-)

jump to
M internal/server/server.gointernal/server/server.go
@@ -52,6 +52,12 @@ }
func serverHeaderHandler(wrappedHandler http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.ProtoMajor >= 2 && r.Header.Get("Host") != "" { + // net/http does this for HTTP/1.1, but not h2c + // TODO: check with HTTP/2.0 (i.e. with TLS) + r.Host = r.Header.Get("Host") + r.Header.Del("Host") + } w.Header().Set("Server", serverHeader) wrappedHandler.ServeHTTP(w, r) })