X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=auth-token-fetch%2FHTTPClient.go;fp=auth-token-fetch%2FHTTPClient.go;h=5b0d1678da1a4a4a6b847310b809d1da2fca68d9;hb=4d78fcc20a2c156edd686270e83e3e8182ef7951;hp=a765461b4ec8459f0307d1708e67912cad4f1b4a;hpb=844931b62f35ce6ee2d9dc7274573fc54e14407a;p=nonrtric.git diff --git a/auth-token-fetch/HTTPClient.go b/auth-token-fetch/HTTPClient.go index a765461b..5b0d1678 100644 --- a/auth-token-fetch/HTTPClient.go +++ b/auth-token-fetch/HTTPClient.go @@ -21,24 +21,13 @@ package main import ( - "bytes" "crypto/tls" "crypto/x509" - "fmt" - "io" "net/http" - "net/url" "time" ) -// HTTPClient interface -type HTTPClient interface { - Get(url string) (*http.Response, error) - - Do(*http.Request) (*http.Response, error) -} - func CreateHttpClient(cert tls.Certificate, caCerts *x509.CertPool, timeout time.Duration) *http.Client { return &http.Client{ Timeout: timeout, @@ -46,50 +35,6 @@ func CreateHttpClient(cert tls.Certificate, caCerts *x509.CertPool, timeout time } } -type RequestError struct { - StatusCode int - Body []byte -} - -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)) -} - -func Post(url string, body []byte, contentType string, client HTTPClient) error { - return do(http.MethodPost, url, body, contentType, client) -} - -func do(method string, url string, body []byte, contentType string, client HTTPClient) error { - if req, reqErr := http.NewRequest(method, url, bytes.NewBuffer(body)); reqErr == nil { - req.Header.Set("Content-Type", contentType) - if response, respErr := client.Do(req); respErr == nil { - if isResponseSuccess(response.StatusCode) { - return nil - } else { - return getRequestError(response) - } - } else { - return respErr - } - } else { - return reqErr - } -} - -func isResponseSuccess(statusCode int) bool { - return statusCode >= http.StatusOK && statusCode <= 299 -} - -func getRequestError(response *http.Response) RequestError { - defer response.Body.Close() - responseData, _ := io.ReadAll(response.Body) - putError := RequestError{ - StatusCode: response.StatusCode, - Body: responseData, - } - return putError -} - func createTransport(cert tls.Certificate, caCerts *x509.CertPool) *http.Transport { return &http.Transport{ TLSClientConfig: &tls.Config{ @@ -102,8 +47,3 @@ func createTransport(cert tls.Certificate, caCerts *x509.CertPool) *http.Transpo }, } } - -func IsUrlSecure(configUrl string) bool { - u, _ := url.Parse(configUrl) - return u.Scheme == "https" -}