in internal/client/integrations/integrations.go [529:587]
func Get(name string, version string, basicInfo bool, minimal bool, override bool) ([]byte, error) {
if (basicInfo && minimal) || (basicInfo && override) || (minimal && override) {
return nil, errors.New("cannot combine basicInfo, minimal and override flags")
}
u, _ := url.Parse(apiclient.GetBaseIntegrationURL())
u.Path = path.Join(u.Path, "integrations", name, "versions", version)
apiclient.ClientPrintHttpResponse.Set(false)
respBody, err := apiclient.HttpClient(u.String())
if !override && !minimal && !basicInfo {
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.PrettyPrint(respBody)
return respBody, nil
}
iversion := integrationVersion{}
err = json.Unmarshal(respBody, &iversion)
if err != nil {
return nil, err
}
if basicInfo {
var respBasicBody []byte
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
if respBasicBody, err = getBasicInfo(respBody); err != nil {
return nil, err
}
apiclient.PrettyPrint(respBasicBody)
return respBasicBody, nil
}
if minimal {
eversion := convertInternalToExternal(iversion)
respExtBody, err := json.Marshal(eversion)
if err != nil {
return nil, err
}
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.PrettyPrint(respExtBody)
return respExtBody, nil
}
if override {
var or overrides
var respOvrBody []byte
if or, err = extractOverrides(iversion); err != nil {
return nil, err
}
if respOvrBody, err = json.Marshal(or); err != nil {
return nil, err
}
apiclient.ClientPrintHttpResponse.Set(apiclient.GetCmdPrintHttpResponseSetting())
apiclient.PrettyPrint(respOvrBody)
return respOvrBody, nil
}
return respBody, err
}