From 54339f36158578a23dbda1c4d2724e4475849ea6 Mon Sep 17 00:00:00 2001 From: gfleury <gfleury@gmail.com> Date: Mon, 16 Mar 2020 13:31:26 -0300 Subject: [PATCH] Adding Paged responses helper --- api_response.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/api_response.go b/api_response.go index a5d24f0..7b8a8cf 100644 --- a/api_response.go +++ b/api_response.go @@ -508,6 +508,7 @@ func NewBitbucketAPIResponse(r *http.Response) (*APIResponse, error) { return response, err } +// NewRawAPIResponse create new API response from http.response with raw data func NewRawAPIResponse(r *http.Response) (*APIResponse, error) { response := &APIResponse{Response: r} raw, err := ioutil.ReadAll(r.Body) @@ -518,3 +519,10 @@ func NewRawAPIResponse(r *http.Response) (*APIResponse, error) { response.Payload = raw return response, nil } + +// HasNextPage returns if response is paged and has next page and where it does start +func HasNextPage(response *APIResponse) (bool, int) { + isLastPage := response.Values["isLastPage"].(bool) + nextPageStart := int(response.Values["nextPageStart"].(float64)) + return !isLastPage, nextPageStart +}