Example #1
0
File: logs.go Project: Zyko0/cli
func dumpLogs(logsURL string, n int, filter string) error {
	res, err := scalingo.Logs(logsURL, n, filter)
	if err != nil {
		return errgo.Mask(err, errgo.Any)
	}
	defer res.Body.Close()

	if res.StatusCode == 404 {
		io.Error("There is not log for this application.")
		return nil
	}

	_, err = stdio.Copy(os.Stdout, res.Body)
	if err != nil {
		return errgo.Mask(err, errgo.Any)
	}

	return nil
}
Example #2
0
File: error.go Project: yannski/cli
func errorQuit(err error) {
	if errgo.Cause(err) == api.LoginAbortedErr {
		fmt.Printf("... %v\n", err)
		os.Exit(1)
	}

	if api.IsRequestFailedError(errgo.Cause(err)) {
		code := errgo.Cause(err).(*api.RequestFailedError).Code
		if code == 401 {
			session.DestroyToken()
		}
	}

	newReportError(err).Report()
	rollbar.Wait()
	io.Error("An error occured:")
	fmt.Println(io.Indent(err.Error(), 7))
	os.Exit(1)
}
Example #3
0
File: remove.go Project: Zyko0/cli
func Remove(app, email string) error {
	collaborator, err := getFromEmail(app, email)
	if err != nil {
		if err == notFound {
			io.Error(email + " is not a collaborator of " + app + ".")
			return nil
		} else {
			return errgo.Mask(err, errgo.Any)
		}
	}

	err = scalingo.CollaboratorRemove(app, collaborator.ID)
	if err != nil {
		return errgo.Mask(err, errgo.Any)
	}

	io.Status(email, "has been removed from the collaborators of", app)
	return nil
}