Merge pull request #34275 from tiborvass/fix-hijack

Fix panic in hijack
Upstream-commit: 67e79319a03c8b04cb51513901856a3273bdc7a4
Component: engine
This commit is contained in:
Sebastiaan van Stijn
2017-07-27 08:59:55 +02:00
committed by GitHub
+8 -6
View File
@@ -177,12 +177,14 @@ func (cli *Client) setupHijackConn(req *http.Request, proto string) (net.Conn, e
// Server hijacks the connection, error 'connection closed' expected
resp, err := clientconn.Do(req)
if err != nil {
return nil, err
}
if resp.StatusCode != http.StatusSwitchingProtocols {
resp.Body.Close()
return nil, fmt.Errorf("unable to upgrade to %s, received %d", proto, resp.StatusCode)
if err != httputil.ErrPersistEOF {
if err != nil {
return nil, err
}
if resp.StatusCode != http.StatusSwitchingProtocols {
resp.Body.Close()
return nil, fmt.Errorf("unable to upgrade to %s, received %d", proto, resp.StatusCode)
}
}
c, br := clientconn.Hijack()