diff --git a/cli/apiserver/provider.go b/cli/apiserver/provider.go index b032cd4c8..dee6c225e 100644 --- a/cli/apiserver/provider.go +++ b/cli/apiserver/provider.go @@ -3,11 +3,12 @@ package apiserver import ( "bytes" "encoding/json" - "errors" "fmt" + "io" "io/ioutil" "net/http" "net/url" + "strings" "time" "github.com/up9inc/mizu/shared/kubernetes" @@ -61,7 +62,14 @@ func (provider *Provider) GetHealthStatus() (*shared.HealthResponse, error) { if response, err := provider.client.Get(healthUrl); err != nil { return nil, err } else if response.StatusCode > 299 { - return nil, errors.New(fmt.Sprintf("status code: %d", response.StatusCode)) + responseBody := new(strings.Builder) + + if _, err := io.Copy(responseBody, response.Body); err != nil { + return nil, fmt.Errorf("status code: %d - (bad response - %v)", response.StatusCode, err) + } else { + singleLineResponse := strings.ReplaceAll(responseBody.String(), "\n", "") + return nil, fmt.Errorf("status code: %d - (response - %v)", response.StatusCode, singleLineResponse) + } } else { defer response.Body.Close()