X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=dmaap-mediator-producer%2Finternal%2Frestclient%2FHTTPClient.go;h=2b3a0cf3b7644b30aba34754fa33fa4c4d687c06;hb=65a53d2388547247222d144b365401056bbdffc5;hp=a783f7e692d817d55b78565d16e29f7ae4173883;hpb=6ab9cd9df333ab3b5ed1ce6957dcea8f20d5c28d;p=nonrtric.git diff --git a/dmaap-mediator-producer/internal/restclient/HTTPClient.go b/dmaap-mediator-producer/internal/restclient/HTTPClient.go index a783f7e6..2b3a0cf3 100644 --- a/dmaap-mediator-producer/internal/restclient/HTTPClient.go +++ b/dmaap-mediator-producer/internal/restclient/HTTPClient.go @@ -43,47 +43,35 @@ func (pe RequestError) Error() string { return fmt.Sprintf("Request failed due to error response with status: %v and body: %v", pe.StatusCode, string(pe.Body)) } -var ( - Client HTTPClient -) - -func init() { - Client = &http.Client{} -} - -func Get(url string) ([]byte, error) { - if response, err := Client.Get(url); err == nil { - defer response.Body.Close() - if responseData, err := io.ReadAll(response.Body); err == nil { - if isResponseSuccess(response.StatusCode) { +func Get(url string, client HTTPClient) ([]byte, error) { + if response, err := client.Get(url); err == nil { + if isResponseSuccess(response.StatusCode) { + defer response.Body.Close() + if responseData, err := io.ReadAll(response.Body); err == nil { return responseData, nil } else { - requestError := RequestError{ - StatusCode: response.StatusCode, - Body: responseData, - } - return nil, requestError + return nil, err } } else { - return nil, err + return nil, getRequestError(response) } } else { return nil, err } } -func Put(url string, body []byte) error { - return do(http.MethodPut, url, body) +func Put(url string, body []byte, client HTTPClient) error { + return do(http.MethodPut, url, body, client) } -func Post(url string, body []byte) error { - return do(http.MethodPost, url, body) +func Post(url string, body []byte, client HTTPClient) error { + return do(http.MethodPost, url, body, client) } -func do(method string, url string, body []byte) error { +func do(method string, url string, body []byte, client HTTPClient) error { if req, reqErr := http.NewRequest(method, url, bytes.NewBuffer(body)); reqErr == nil { req.Header.Set("Content-Type", "application/json; charset=utf-8") - if response, respErr := Client.Do(req); respErr == nil { + if response, respErr := client.Do(req); respErr == nil { if isResponseSuccess(response.StatusCode) { return nil } else {