mirror of
https://github.com/gfleury/go-bitbucket-v1.git
synced 2025-04-04 17:00:12 -05:00
read full request.Body to reuse http/1 connections
see https://tipsfordev.com/go-http-requests-json-reusing-connections
This commit is contained in:
parent
90a950f9bc
commit
51217eae02
@ -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
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user