/
alt3rmann
/
graphql-engine
Обзор
Документация
Войти
/
alt3rmann
/
graphql-engine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
cli/version/server.go
37 строк
1 KB
Mohd Bilal
cli: refactor `version` package to use `internal/errors`
28 окт 2022, 13:00
28 окт 2022, 13:00
3760b37
Код
Авторство
О чём код?
package version import ( "context" "fmt" "net/http" "github.com/hasura/graphql-engine/cli/v2/internal/errors" "github.com/hasura/graphql-engine/cli/v2/internal/httpc" ) type serverVersionResponse struct { Version string `json:"version"` } // FetchServerVersion reads the version from server. func FetchServerVersion(endpoint string, client *httpc.Client) (version string, err error) { var op errors.Op = "version.FetchServerVersion" req, err := http.NewRequest("GET", endpoint, nil) if err != nil { return "", errors.E(op, fmt.Errorf("error while making http request to %s", endpoint)) } var v serverVersionResponse response, err := client.Do(context.Background(), req, &v) if err != nil { return "", errors.E(op, fmt.Errorf("failed making version api call: %w", err)) } if response.StatusCode != http.StatusOK { switch response.StatusCode { case http.StatusNotFound: return "", nil default: return "", errors.E(op, errors.KindHasuraAPI, fmt.Errorf("GET %s failed - [%d]", endpoint, response.StatusCode)) } } return v.Version, nil }