func getEsVersion()

in main.go [299:325]


func getEsVersion(host, user, pass string) (*semver.Version, error) {
	req, err := http.NewRequest("GET", host, nil)
	if err != nil {
		return nil, err
	}
	if user != "" || pass != "" {
		req.SetBasicAuth(user, pass)
	}
	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		return nil, err
	}
	var esVersion struct {
		Version struct {
			Number string
		} `json:"version"`
	}
	defer resp.Body.Close()

	if resp.StatusCode != 200 {
		return nil, fmt.Errorf("received unexpected %d status code", resp.StatusCode)
	}
	if err := json.NewDecoder(resp.Body).Decode(&esVersion); err != nil {
		return nil, err
	}
	return semver.New(esVersion.Version.Number)
}