diff --git a/pkg/remotedialer/client.go b/pkg/remotedialer/client.go index ce774c89..57dcdefb 100644 --- a/pkg/remotedialer/client.go +++ b/pkg/remotedialer/client.go @@ -27,16 +27,19 @@ func connectToProxy(proxyURL string, headers http.Header, auth ConnectAuthorizer } ws, resp, err := dialer.Dial(proxyURL, headers) if err != nil { - rb, err2 := ioutil.ReadAll(resp.Body) - if err2 != nil { - logrus.WithError(err).Errorf("Failed to connect to proxy. Response status: %v - %v. Couldn't read response body (err: %v)", resp.StatusCode, resp.Status, err2) + if resp == nil { + logrus.WithError(err).Errorf("Failed to connect to proxy. Empty dialer response") } else { - logrus.WithError(err).Errorf("Failed to connect to proxy. Response status: %v - %v. Response body: %s", resp.StatusCode, resp.Status, rb) + rb, err2 := ioutil.ReadAll(resp.Body) + if err2 != nil { + logrus.WithError(err).Errorf("Failed to connect to proxy. Response status: %v - %v. Couldn't read response body (err: %v)", resp.StatusCode, resp.Status, err2) + } else { + logrus.WithError(err).Errorf("Failed to connect to proxy. Response status: %v - %v. Response body: %s", resp.StatusCode, resp.Status, rb) + } } return err } defer ws.Close() - defer resp.Body.Close() ctx, cancel := context.WithCancel(context.Background()) defer cancel()