mirror of
https://github.com/LukeHagar/sailpoint-cli.git
synced 2025-12-06 04:21:15 +00:00
36 lines
696 B
Go
36 lines
696 B
Go
package sdk
|
|
|
|
import (
|
|
_ "embed"
|
|
"encoding/json"
|
|
"errors"
|
|
"io"
|
|
"net/http"
|
|
"strings"
|
|
|
|
"github.com/charmbracelet/log"
|
|
"github.com/sailpoint-oss/sailpoint-cli/internal/util"
|
|
)
|
|
|
|
//go:embed sdkErr.md
|
|
var sdkErrBody string
|
|
var sdkErrParts = strings.Split(sdkErrBody, "====")
|
|
|
|
func HandleSDKError(resp *http.Response, sdkErr error) error {
|
|
defer resp.Body.Close()
|
|
|
|
body, err := io.ReadAll(resp.Body)
|
|
if err != nil {
|
|
log.Error(err)
|
|
}
|
|
|
|
var data map[string]interface{}
|
|
|
|
err = json.Unmarshal(body, &data)
|
|
if err != nil {
|
|
log.Error(err)
|
|
}
|
|
|
|
return errors.New(util.RenderMarkdown(sdkErrParts[0] + util.PrettyPrint(resp.Header) + sdkErrParts[1] + util.PrettyPrint(data) + sdkErrParts[2]))
|
|
}
|