本文整理汇总了Golang中github.com/deis/deis/client-go/controller/client.Client.BasicRequest方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.BasicRequest方法的具体用法?Golang Client.BasicRequest怎么用?Golang Client.BasicRequest使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/deis/deis/client-go/controller/client.Client
的用法示例。
在下文中一共展示了Client.BasicRequest方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Restart
// Restart an app's processes.
func Restart(c *client.Client, appID string, procType string, num int) ([]api.Process, error) {
u := fmt.Sprintf("/v1/apps/%s/containers/", appID)
if procType == "" {
u += "restart/"
} else {
if num == -1 {
u += procType + "/restart/"
} else {
u += procType + "/" + strconv.Itoa(num) + "/restart/"
}
}
body, err := c.BasicRequest("POST", u, nil)
if err != nil {
return []api.Process{}, err
}
procs := []api.Process{}
if err = json.Unmarshal([]byte(body), &procs); err != nil {
return []api.Process{}, err
}
return procs, nil
}
示例2: Set
// Set sets an app's config variables.
func Set(c *client.Client, app string, config api.Config) (api.Config, error) {
body, err := json.Marshal(config)
if err != nil {
return api.Config{}, err
}
u := fmt.Sprintf("/v1/apps/%s/config/", app)
resBody, status, err := c.BasicRequest("POST", u, body)
if err != nil {
return api.Config{}, err
}
if status != 201 {
return api.Config{}, errors.New(resBody)
}
newConfig := api.Config{}
if err = json.Unmarshal([]byte(resBody), &newConfig); err != nil {
return api.Config{}, err
}
return newConfig, nil
}
示例3: New
// New creates a new cert.
func New(c *client.Client, cert string, key string, commonName string) (api.Cert, error) {
req := api.CertCreateRequest{Certificate: cert, Key: key, Name: commonName}
reqBody, err := json.Marshal(req)
if err != nil {
return api.Cert{}, err
}
resBody, status, err := c.BasicRequest("POST", "/v1/certs/", reqBody)
if err != nil {
return api.Cert{}, err
}
if status != 201 {
return api.Cert{}, errors.New(resBody)
}
resCert := api.Cert{}
if err = json.Unmarshal([]byte(resBody), &resCert); err != nil {
return api.Cert{}, err
}
return resCert, nil
}
示例4: Rollback
// Rollback rolls back an app to a previous release.
func Rollback(c *client.Client, appID string, version int) (int, error) {
u := fmt.Sprintf("/v1/apps/%s/releases/rollback/", appID)
req := api.ReleaseRollback{Version: version}
var err error
var reqBody []byte
if version != -1 {
reqBody, err = json.Marshal(req)
if err != nil {
return -1, err
}
}
body, err := c.BasicRequest("POST", u, reqBody)
if err != nil {
return -1, err
}
response := api.ReleaseRollback{}
if err = json.Unmarshal([]byte(body), &response); err != nil {
return -1, err
}
return response.Version, nil
}
示例5: New
// New creates a new app.
func New(c *client.Client, id string) (api.App, error) {
body := []byte{}
var err error
if id != "" {
req := api.AppCreateRequest{ID: id}
body, err = json.Marshal(req)
if err != nil {
return api.App{}, err
}
}
resBody, err := c.BasicRequest("POST", "/v1/apps/", body)
if err != nil {
return api.App{}, err
}
app := api.App{}
if err = json.Unmarshal([]byte(resBody), &app); err != nil {
return api.App{}, err
}
return app, nil
}
示例6: New
// New creates a build for an app.
func New(c *client.Client, appID string, image string,
procfile map[string]string) (api.Build, error) {
u := fmt.Sprintf("/v1/apps/%s/builds/", appID)
req := api.CreateBuildRequest{Image: image, Procfile: procfile}
body, err := json.Marshal(req)
if err != nil {
return api.Build{}, err
}
resBody, err := c.BasicRequest("POST", u, body)
if err != nil {
return api.Build{}, err
}
build := api.Build{}
if err = json.Unmarshal([]byte(resBody), &build); err != nil {
return api.Build{}, err
}
return build, nil
}
示例7: Regenerate
// Regenerate user's auth tokens.
func Regenerate(c *client.Client, username string, all bool) (string, error) {
var reqBody []byte
var err error
if all == true {
reqBody, err = json.Marshal(api.AuthRegenerateRequest{All: all})
} else if username != "" {
reqBody, err = json.Marshal(api.AuthRegenerateRequest{Name: username})
}
if err != nil {
return "", err
}
body, err := c.BasicRequest("POST", "/v1/auth/tokens/", reqBody)
if err != nil {
return "", err
}
if all == true {
return "", nil
}
token := api.AuthRegenerateResponse{}
if err = json.Unmarshal([]byte(body), &token); err != nil {
return "", err
}
return token.Token, nil
}
示例8: New
// New adds a domain to an app.
func New(c *client.Client, appID string, domain string) (api.Domain, error) {
u := fmt.Sprintf("/v1/apps/%s/domains/", appID)
req := api.DomainCreateRequest{Domain: domain}
body, err := json.Marshal(req)
if err != nil {
return api.Domain{}, err
}
resBody, status, err := c.BasicRequest("POST", u, body)
if err != nil {
return api.Domain{}, err
}
if status != 201 {
return api.Domain{}, errors.New(resBody)
}
res := api.Domain{}
if err = json.Unmarshal([]byte(resBody), &res); err != nil {
return api.Domain{}, err
}
return res, nil
}
示例9: Run
// Run one time command in an app.
func Run(c *client.Client, appID string, command string) (api.AppRunResponse, error) {
req := api.AppRunRequest{Command: command}
body, err := json.Marshal(req)
if err != nil {
return api.AppRunResponse{}, err
}
u := fmt.Sprintf("/v1/apps/%s/run", appID)
resBody, status, err := c.BasicRequest("POST", u, body)
if err != nil {
return api.AppRunResponse{}, err
}
if status != 200 {
return api.AppRunResponse{}, errors.New(resBody)
}
out := make([]interface{}, 2)
if err = json.Unmarshal([]byte(resBody), &out); err != nil {
return api.AppRunResponse{}, err
}
return api.AppRunResponse{Output: out[1].(string), ReturnCode: int(out[0].(float64))}, nil
}
示例10: doList
func doList(c *client.Client, u string) (string, error) {
body, err := c.BasicRequest("GET", u, nil)
if err != nil {
return "", err
}
return body, nil
}
示例11: Register
// Register a new user with the controller.
func Register(c *client.Client, username, password, email string) error {
user := api.AuthRegisterRequest{Username: username, Password: password, Email: email}
body, err := json.Marshal(user)
if err != nil {
return err
}
_, err = c.BasicRequest("POST", "/v1/auth/register/", body)
return err
}
示例12: Scale
// Scale an app's processes.
func Scale(c *client.Client, appID string, targets map[string]int) error {
u := fmt.Sprintf("/v1/apps/%s/scale/", appID)
body, err := json.Marshal(targets)
if err != nil {
return err
}
_, err = c.BasicRequest("POST", u, body)
return err
}
示例13: doDelete
func doDelete(c *client.Client, u string) error {
body, status, err := c.BasicRequest("DELETE", u, nil)
if err != nil {
return err
}
if status != 204 {
return errors.New(body)
}
return nil
}
示例14: doList
func doList(c *client.Client, u string) (string, error) {
body, status, err := c.BasicRequest("GET", u, nil)
if err != nil {
return "", err
}
if status != 200 {
return "", errors.New(body)
}
return body, nil
}
示例15: List
// List users that can access an app.
func List(c *client.Client, appID string) ([]string, error) {
body, err := c.BasicRequest("GET", fmt.Sprintf("/v1/apps/%s/perms/", appID), nil)
if err != nil {
return []string{}, err
}
var users api.PermsAppResponse
if err = json.Unmarshal([]byte(body), &users); err != nil {
return []string{}, err
}
return users.Users, nil
}