Files
sailpoint-cli/internal/sdk/sdk.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]))
}