Merge pull request #69 from brainexe/real_all_body

read full request.Body to reuse http/1 connections
This commit is contained in:
George Fleury 2022-03-01 10:11:31 -03:00 committed by GitHub
commit 8e7ed04b84
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,6 +7,7 @@ package bitbucketv1
import (
"encoding/json"
"fmt"
"io"
"io/ioutil"
"net/http"
"strings"
@ -668,7 +669,6 @@ func GetActivitiesResponse(r *APIResponse) (Activities, error) {
// NewAPIResponse create new APIResponse from http.Response
func NewAPIResponse(r *http.Response) *APIResponse {
response := &APIResponse{Response: r}
return response
}
@ -688,10 +688,18 @@ func NewAPIResponseWithError(r *http.Response, bodyBytes []byte, err error) (*AP
// NewBitbucketAPIResponse create new API response from http.response
func NewBitbucketAPIResponse(r *http.Response) (*APIResponse, error) {
response := &APIResponse{Response: r}
err := json.NewDecoder(r.Body).Decode(&response.Values)
decoder := json.NewDecoder(r.Body)
err := decoder.Decode(&response.Values)
if err != nil {
return nil, err
}
if decoder.More() {
// there's more data in the stream, so discard whatever is left
_, _ = io.Copy(ioutil.Discard, r.Body)
}
return response, err
}