diff --git a/internal/http/reason.go b/internal/http/reason.go index c27cae5..1a49ddf 100644 --- a/internal/http/reason.go +++ b/internal/http/reason.go @@ -25,9 +25,9 @@ import ( "github.com/BBVA/kapow/internal/server/srverrors" ) -// GetReasonFromBody returns the reason phrase embedded within the JSON error +// Reason returns the reason phrase embedded within the JSON error // body, or an error if no reason can be extracted -func GetReasonFromBody(r *http.Response) (string, error) { +func Reason(r *http.Response) (string, error) { body, err := ioutil.ReadAll(r.Body) if err != nil { return "", errors.New("error reading response's body") diff --git a/internal/http/reason_test.go b/internal/http/reason_test.go index 2b492ed..5f0bc5a 100644 --- a/internal/http/reason_test.go +++ b/internal/http/reason_test.go @@ -23,7 +23,7 @@ import ( "testing" ) -func TestGetReasonFromBodyExtractsReasonFromJSON(t *testing.T) { +func TestReasonExtractsReasonFromJSON(t *testing.T) { r := &nethttp.Response{ Status: "200 OK", Body: ioutil.NopCloser( @@ -33,14 +33,14 @@ func TestGetReasonFromBodyExtractsReasonFromJSON(t *testing.T) { ), } - reason, _ := GetReasonFromBody(r) + reason, _ := Reason(r) if reason != "Because reasons" { t.Errorf(`reason mismatch, want "Because reasons", got %q`, reason) } } -func TestGetReasonFromBodyErrorsOnJSONWithNoReason(t *testing.T) { +func TestReasonErrorsOnJSONWithNoReason(t *testing.T) { r := &nethttp.Response{ Status: "200 OK", Body: ioutil.NopCloser( @@ -50,14 +50,14 @@ func TestGetReasonFromBodyErrorsOnJSONWithNoReason(t *testing.T) { ), } - _, err := GetReasonFromBody(r) + _, err := Reason(r) if err == nil { t.Error("error not reported") } } -func TestGetReasonFromBodyErrorsOnJSONWithEmptyReason(t *testing.T) { +func TestReasonErrorsOnJSONWithEmptyReason(t *testing.T) { r := &nethttp.Response{ Body: ioutil.NopCloser( strings.NewReader( @@ -66,28 +66,28 @@ func TestGetReasonFromBodyErrorsOnJSONWithEmptyReason(t *testing.T) { ), } - _, err := GetReasonFromBody(r) + _, err := Reason(r) if err == nil { t.Error("error not reported") } } -func TestGetReasonFromBodyErrorsOnNoJSON(t *testing.T) { +func TestReasonErrorsOnNoJSON(t *testing.T) { r := &nethttp.Response{ Body: ioutil.NopCloser( strings.NewReader(""), ), } - _, err := GetReasonFromBody(r) + _, err := Reason(r) if err == nil { t.Error("error not reported") } } -func TestGetReasonFromBodyErrorsOnInvalidJSON(t *testing.T) { +func TestReasonErrorsOnInvalidJSON(t *testing.T) { r := &nethttp.Response{ Body: ioutil.NopCloser( strings.NewReader( @@ -96,7 +96,7 @@ func TestGetReasonFromBodyErrorsOnInvalidJSON(t *testing.T) { ), } - _, err := GetReasonFromBody(r) + _, err := Reason(r) if err == nil { t.Error("error not reported") diff --git a/internal/http/request.go b/internal/http/request.go index ecea096..aa4b121 100644 --- a/internal/http/request.go +++ b/internal/http/request.go @@ -66,7 +66,7 @@ func Request(method string, url string, contentType string, r io.Reader, w io.Wr defer res.Body.Close() if res.StatusCode < 200 || res.StatusCode >= 300 { - reason, err := GetReasonFromBody(res) + reason, err := Reason(res) if err != nil { return err }