diff --git a/server.go b/server.go index bcd17ac..4473424 100644 --- a/server.go +++ b/server.go @@ -79,7 +79,8 @@ func (s *Server) Connect(w http.ResponseWriter, r *http.Request) { return } - if host == r.Host { + hijacker, ok := w.(http.Hijacker) + if host == r.Host || !ok { s.connectHTTPReverseProxy(w, r) return } @@ -92,12 +93,6 @@ func (s *Server) Connect(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusOK) - hijacker, ok := w.(http.Hijacker) - if !ok { - s.Error(r, w, errors.New("hijack not available")) - return - } - client, _, err := hijacker.Hijack() if err != nil { s.Error(r, w, err)