From ece6a96be07f771ce9308f47750ff41c2c4676d8 Mon Sep 17 00:00:00 2001 From: Morten Amundsen Date: Thu, 21 Nov 2024 09:12:54 +0100 Subject: [PATCH] fix(pim-client): resolve invalid logic for building a request (#76) fix(pim-client): resolve invalid logic for building a request dynamically --- pkg/pim/client.go | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/pkg/pim/client.go b/pkg/pim/client.go index 64bd827..b85d3de 100644 --- a/pkg/pim/client.go +++ b/pkg/pim/client.go @@ -89,11 +89,19 @@ func GetUserInfo(token string) AzureUserInfo { return *claims.AzureUserInfo } +func handleRequestErr(_error *common.Error, err error, req *http.Request) { + _error.Message = err.Error() + _error.Err = err + _error.Request = req + slog.Error(_error.Error()) + slog.Debug(_error.Debug()) + os.Exit(1) +} + func Request(request *PIMRequest, responseModel any) any { // Prepare request body var req *http.Request var err error - var payload io.Reader var _error = common.Error{ Operation: "Request", } @@ -101,18 +109,17 @@ func Request(request *PIMRequest, responseModel any) any { if request.Payload != nil { payload := new(bytes.Buffer) json.NewEncoder(payload).Encode(request.Payload) //nolint:errcheck + req, err = http.NewRequest(request.Method, request.Url, payload) + if err != nil { + handleRequestErr(&_error, err, req) + } } else { - payload = nil - } - req, err = http.NewRequest(request.Method, request.Url, payload) - if err != nil { - _error.Message = err.Error() - _error.Err = err - _error.Request = req - slog.Error(_error.Error()) - slog.Debug(_error.Debug()) - os.Exit(1) + req, err = http.NewRequest(request.Method, request.Url, nil) + if err != nil { + handleRequestErr(&_error, err, req) + } } + // Add headers req.Header.Set("Content-Type", "application/json") req.Header.Set("Accept", "application/json")