@@ -76,27 +76,26 @@ func GetResponse(data any, method, url, auth string, headers []Header) (*http.Re
7676}
7777
7878// JSON returns JSON response from http request
79- // if response.code is http.StatusOK (200) returns body decoded to resp
80- // if response.code is not http.Status ok returns response(*http.Response) with err set to
81- // 'non ok response code'
82- // if json decode err returns response and err set to 'json decode err'
83- // for any other err returns nil and err
84- func GetJSON [T any , R any ](data any , resp T , errResponse R , method , url , auth string , headers []Header ) (any , error ) {
79+ // if response.code is http.StatusOK (200) returns resp, nil, nil
80+ // if response.code is not http.Status ok returns nil, errResponse, err='non ok response code'
81+ // if json decode err returns nil, nil, err set to 'json decode err'
82+ // for any other err returns nil, nil, err
83+ func GetJSON [T any , R any ](data any , resp T , errResponse R , method , url , auth string , headers []Header ) (T , R , error ) {
8584 response , err := GetResponse (data , method , url , auth , headers )
8685 if err != nil {
87- return nil , err
86+ return resp , errResponse , err
8887 }
8988 defer response .Body .Close ()
9089 if response .StatusCode != http .StatusOK {
9190 if err := json .NewDecoder (response .Body ).Decode (& errResponse ); err != nil {
92- return response , ErrJSON
91+ return resp , errResponse , ErrJSON
9392 }
94- return errResponse , ErrStatus
93+ return resp , errResponse , ErrStatus
9594 }
9695 if err := json .NewDecoder (response .Body ).Decode (& resp ); err != nil {
97- return response , ErrJSON
96+ return resp , errResponse , ErrJSON
9897 }
99- return resp , nil
98+ return resp , errResponse , nil
10099}
101100
102101// GetResponse returns response from http endpoint
@@ -105,6 +104,6 @@ func (e *Endpoint) GetResponse() (*http.Response, error) {
105104}
106105
107106// GetJSON returns JSON received from http endpoint
108- func (e * JSONEndpoint [T , R ]) GetJSON (response T , errResponse R ) (any , error ) {
107+ func (e * JSONEndpoint [T , R ]) GetJSON (response T , errResponse R ) (T , R , error ) {
109108 return GetJSON (e .Data , response , errResponse , e .Method , e .URL + e .Route , e .Authorization , e .Headers )
110109}
0 commit comments