Fix: throw error when CONNECT return 5xx

This commit is contained in:
Dreamacro 2019-10-05 09:33:40 +08:00
parent 50d2e082d5
commit d3c50cf89f

View file

@ -81,17 +81,21 @@ func (h *Http) shakeHand(metadata *C.Metadata, rw io.ReadWriter) error {
return err return err
} }
if resp.StatusCode == 200 { if resp.StatusCode == http.StatusOK {
return nil return nil
} }
if resp.StatusCode == 407 { if resp.StatusCode == http.StatusProxyAuthRequired {
return errors.New("HTTP need auth") return errors.New("HTTP need auth")
} }
if resp.StatusCode == 405 { if resp.StatusCode == http.StatusMethodNotAllowed {
return errors.New("CONNECT method not allowed by proxy") return errors.New("CONNECT method not allowed by proxy")
} }
if resp.StatusCode >= http.StatusInternalServerError {
return errors.New(resp.Status)
}
return fmt.Errorf("can not connect remote err code: %d", resp.StatusCode) return fmt.Errorf("can not connect remote err code: %d", resp.StatusCode)
} }