in pkg/genlib/fields/version.go [15:56]
func MapVersion(ctx context.Context, baseUrl, integration, kibanaVersion string) (string, error) {
searchUrl, err := makeSearchURL(baseUrl, integration, kibanaVersion)
if err != nil {
return "", err
}
r, err := getFromURL(ctx, searchUrl.String())
if err != nil {
return "", err
}
var payload []struct {
Version string `json:"version"`
}
body, err := ioutil.ReadAll(r)
if err != nil {
_ = r.Close()
return "", err
}
if err = json.Unmarshal(body, &payload); err != nil {
return "", err
}
if len(payload) == 0 {
return "", errors.New("empty payload")
}
version := payload[0].Version
// semver is picky, requires the prefix
if !strings.HasPrefix(version, "v") {
version = "v" + version
}
if !semver.IsValid(version) {
return "", errors.New("invalid version")
}
return payload[0].Version, nil
}