本文整理汇总了Golang中github.com/convox/rack/api/httperr.Errorf函数的典型用法代码示例。如果您正苦于以下问题:Golang Errorf函数的具体用法?Golang Errorf怎么用?Golang Errorf使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Errorf函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: SSLCreate
func SSLCreate(rw http.ResponseWriter, r *http.Request) *httperr.Error {
a := mux.Vars(r)["app"]
process := GetForm(r, "process")
port := GetForm(r, "port")
body := GetForm(r, "body")
key := GetForm(r, "key")
secure := GetForm(r, "secure")
if process == "" {
return httperr.Errorf(403, "must specify a process")
}
portn, err := strconv.Atoi(port)
if err != nil {
return httperr.Errorf(403, "port must be numeric")
}
ssl, err := models.CreateSSL(a, process, portn, body, key, (secure == "true"))
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "%s", err)
}
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, ssl)
}
开发者ID:gisnalbert,项目名称:rack,代码行数:30,代码来源:ssl.go
示例2: ReleasePromote
func ReleasePromote(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
app := vars["app"]
release := vars["release"]
_, err := models.GetApp(app)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
rr, err := models.GetRelease(app, release)
if err != nil && strings.HasPrefix(err.Error(), "no such release") {
return httperr.Errorf(404, "no such release: %s", release)
}
if err != nil {
return httperr.Server(err)
}
err = rr.Promote()
if awsError(err) == "ValidationError" {
return httperr.Errorf(403, err.(awserr.Error).Message())
}
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, rr)
}
开发者ID:nicolas-brousse,项目名称:rack,代码行数:33,代码来源:releases.go
示例3: BuildDelete
// BuildDelete deletes a build. Makes sure not to delete a build that is contained in the active release
func BuildDelete(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
appName := vars["app"]
buildID := vars["build"]
active, err := isBuildActive(appName, buildID)
if err != nil {
return httperr.Errorf(404, err.Error())
}
if active {
return httperr.Errorf(400, "cannot delete build contained in active release")
}
err = models.Provider().ReleaseDelete(appName, buildID)
if err != nil {
return httperr.Server(err)
}
build, err := models.Provider().BuildDelete(appName, buildID)
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, build)
}
开发者ID:gmelika,项目名称:rack,代码行数:26,代码来源:builds.go
示例4: FormationSet
func FormationSet(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
app := vars["app"]
process := vars["process"]
count := GetForm(r, "count")
memory := GetForm(r, "memory")
_, err := models.GetApp(app)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
err = models.SetFormation(app, process, count, memory)
if ae, ok := err.(awserr.Error); ok {
if ae.Code() == "ValidationError" {
switch {
case strings.Index(ae.Error(), "No updates are to be performed") > -1:
return httperr.Errorf(403, "no updates are to be performed: %s", app)
case strings.Index(ae.Error(), "can not be updated") > -1:
return httperr.Errorf(403, "app is already updating: %s", app)
}
}
}
if err != nil {
return httperr.Server(err)
}
return RenderSuccess(rw)
}
开发者ID:anthonyrisinger,项目名称:rack,代码行数:32,代码来源:formation.go
示例5: BuildGet
func BuildGet(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
app := vars["app"]
build := vars["build"]
b, err := models.Provider().BuildGet(app, build)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
if err != nil && strings.HasPrefix(err.Error(), "no such build") {
return httperr.Errorf(404, err.Error())
}
if err != nil {
return httperr.Server(err)
}
l, err := models.Provider().BuildLogs(app, build)
if err != nil {
return httperr.Server(err)
}
b.Logs = l
return RenderJson(rw, b)
}
开发者ID:gmelika,项目名称:rack,代码行数:25,代码来源:builds.go
示例6: BuildList
func BuildList(rw http.ResponseWriter, r *http.Request) *httperr.Error {
app := mux.Vars(r)["app"]
l := r.URL.Query().Get("limit")
var err error
var limit int
if l == "" {
limit = 20
} else {
limit, err = strconv.Atoi(l)
if err != nil {
return httperr.Errorf(400, err.Error())
}
}
builds, err := models.Provider().BuildList(app, int64(limit))
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, builds)
}
开发者ID:gmelika,项目名称:rack,代码行数:27,代码来源:builds.go
示例7: AppCreate
func AppCreate(rw http.ResponseWriter, r *http.Request) *httperr.Error {
name := r.FormValue("name")
if name == os.Getenv("RACK") {
return httperr.Errorf(403, "application name cannot match rack name (%s). Please choose a different name for your app.", name)
}
// Early check for unbound app only.
if app, err := models.GetAppUnbound(name); err == nil {
return httperr.Errorf(403, "there is already a legacy app named %s (%s). We recommend you delete this app and create it again.", name, app.Status)
}
// If unbound check fails this will result in a bound app.
app := &models.App{Name: name}
err := app.Create()
if awsError(err) == "AlreadyExistsException" {
app, err := models.GetApp(name)
if err != nil {
return httperr.Server(err)
}
return httperr.Errorf(403, "there is already an app named %s (%s)", name, app.Status)
}
if err != nil {
return httperr.Server(err)
}
app, err = models.GetApp(name)
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, app)
}
开发者ID:gmelika,项目名称:rack,代码行数:35,代码来源:apps.go
示例8: AppDelete
func AppDelete(rw http.ResponseWriter, r *http.Request) *httperr.Error {
name := mux.Vars(r)["app"]
app, err := models.GetApp(name)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", name)
}
if err != nil {
return httperr.Server(err)
}
if app.Tags["Type"] != "app" || app.Tags["System"] != "convox" || app.Tags["Rack"] != os.Getenv("RACK") {
return httperr.Errorf(404, "invalid app: %s", name)
}
err = app.Delete()
if err != nil {
return httperr.Server(err)
}
return RenderSuccess(rw)
}
开发者ID:soulware,项目名称:rack,代码行数:25,代码来源:apps.go
示例9: SSLUpdate
func SSLUpdate(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
a := vars["app"]
process := vars["process"]
port := vars["port"]
id := GetForm(r, "id")
if process == "" {
return httperr.Errorf(403, "must specify a process")
}
portn, err := strconv.Atoi(port)
if err != nil {
return httperr.Errorf(403, "port must be numeric")
}
ssl, err := models.UpdateSSL(a, process, portn, id)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "%s", err)
}
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, ssl)
}
开发者ID:gmelika,项目名称:rack,代码行数:29,代码来源:ssl.go
示例10: ProcessRunDetached
func ProcessRunDetached(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
app := vars["app"]
process := vars["process"]
command := GetForm(r, "command")
release := GetForm(r, "release")
a, err := models.GetApp(app)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
err = a.RunDetached(process, command, release)
if err != nil {
if strings.HasPrefix(err.Error(), "no such release") {
return httperr.Errorf(404, err.Error())
}
return httperr.Server(err)
}
return RenderSuccess(rw)
}
开发者ID:gmelika,项目名称:rack,代码行数:25,代码来源:processes.go
示例11: ReleaseShow
func ReleaseShow(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
app := vars["app"]
release := vars["release"]
_, err := models.GetApp(app)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
rr, err := models.GetRelease(app, release)
if err != nil && strings.HasPrefix(err.Error(), "no such release") {
return httperr.Errorf(404, "no such release: %s", release)
}
fmt.Printf("err %+v\n", err)
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, rr)
}
开发者ID:nicolas-brousse,项目名称:rack,代码行数:25,代码来源:releases.go
示例12: ProcessStop
func ProcessStop(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
app := vars["app"]
process := vars["process"]
_, err := models.GetApp(app)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
ps, err := models.GetProcess(app, process)
if err != nil {
return httperr.Server(err)
}
if ps == nil {
return httperr.Errorf(404, "no such process: %s", process)
}
err = ps.Stop()
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, ps)
}
开发者ID:soulware,项目名称:rack,代码行数:29,代码来源:processes.go
示例13: SSLDelete
func SSLDelete(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
app := vars["app"]
process := vars["process"]
port := vars["port"]
if process == "" {
return httperr.Errorf(403, "must specify a process")
}
portn, err := strconv.Atoi(port)
if err != nil {
return httperr.Errorf(403, "port must be numeric")
}
ssl, err := models.DeleteSSL(app, process, portn)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, ssl)
}
开发者ID:gisnalbert,项目名称:rack,代码行数:28,代码来源:ssl.go
示例14: SystemUpdate
func SystemUpdate(rw http.ResponseWriter, r *http.Request) *httperr.Error {
rack, err := models.GetSystem()
if err != nil {
return httperr.Server(err)
}
notifyData := map[string]string{}
if count := GetForm(r, "count"); count != "" {
count, err := strconv.Atoi(count)
if err != nil {
return httperr.Server(err)
}
rack.Count = count
notifyData["count"] = strconv.Itoa(count)
}
if t := GetForm(r, "type"); t != "" {
rack.Type = t
notifyData["type"] = t
}
if version := GetForm(r, "version"); version != "" {
rack.Version = version
notifyData["version"] = version
}
err = rack.Save()
if awsError(err) == "ValidationError" {
switch {
case strings.Index(err.Error(), "No updates are to be performed") > -1:
return httperr.Errorf(403, "no system updates are to be performed")
case strings.Index(err.Error(), "can not be updated") > -1:
return httperr.Errorf(403, "system is already updating")
}
}
if err != nil {
return httperr.Server(err)
}
rack, err = models.GetSystem()
if err != nil {
return httperr.Server(err)
}
models.NotifySuccess("system:update", notifyData)
return RenderJson(rw, rack)
}
开发者ID:gisnalbert,项目名称:rack,代码行数:58,代码来源:system.go
示例15: ServiceCreate
func ServiceCreate(rw http.ResponseWriter, r *http.Request) *httperr.Error {
err := r.ParseForm()
if err != nil {
return httperr.Server(err)
}
// get the last set value for all form values
// ie: foo=1&foo=2 sets foo to "2"
params := make(map[string]string)
for key, values := range r.Form {
val := values[len(values)-1]
params[key] = val
}
name := params["name"]
delete(params, "name")
kind := params["type"]
delete(params, "type")
// Early check for unbound service only.
service, err := models.GetServiceUnbound(name)
if err == nil {
return httperr.Errorf(403, "there is already a legacy service named %s (%s). We recommend you delete this service and create it again.", name, service.Status)
}
if awsError(err) == "ValidationError" {
// If unbound check fails this will result in a bound service.
service = &models.Service{
Name: name,
Type: kind,
Parameters: models.CFParams(params),
}
}
err = service.Create()
if err != nil && strings.HasSuffix(err.Error(), "not found") {
return httperr.Errorf(403, "invalid service type: %s", kind)
}
if err != nil && awsError(err) == "ValidationError" {
e := err.(awserr.Error)
return httperr.Errorf(403, convoxifyCloudformationError(e.Message()))
}
if err != nil {
return httperr.Server(err)
}
service, err = models.GetService(name)
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, service)
}
开发者ID:soulware,项目名称:rack,代码行数:57,代码来源:services.go
示例16: FormationSet
func FormationSet(rw http.ResponseWriter, r *http.Request) *httperr.Error {
vars := mux.Vars(r)
app := vars["app"]
process := vars["process"]
_, err := models.GetApp(app)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
// initialize to invalid values that indicate no change
var count, memory int64 = -1, -1
// update based on form input
if cc := GetForm(r, "count"); cc != "" {
if c, err := strconv.ParseInt(cc, 10, 64); err != nil {
return httperr.Errorf(403, "count must be numeric")
} else {
count = c
}
}
if mm := GetForm(r, "memory"); mm != "" {
if m, err := strconv.ParseInt(mm, 10, 64); err != nil {
return httperr.Errorf(403, "memory must be numeric")
} else {
memory = m
}
}
err = models.SetFormation(app, process, count, memory)
if ae, ok := err.(awserr.Error); ok {
if ae.Code() == "ValidationError" {
switch {
case strings.Index(ae.Error(), "No updates are to be performed") > -1:
return httperr.Errorf(403, "no updates are to be performed: %s", app)
case strings.Index(ae.Error(), "can not be updated") > -1:
return httperr.Errorf(403, "app is already updating: %s", app)
}
}
}
if err != nil {
return httperr.Server(err)
}
return RenderSuccess(rw)
}
开发者ID:soulware,项目名称:rack,代码行数:50,代码来源:formation.go
示例17: LinkCreate
func LinkCreate(rw http.ResponseWriter, r *http.Request) *httperr.Error {
service := mux.Vars(r)["service"]
s, err := models.GetService(service)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such service: %s", service)
}
if err != nil {
return httperr.Server(err)
}
if s.Status != "running" {
return httperr.Errorf(403, "can not link service with status: %s", s.Status)
}
// new services should use the provider interfaces
if s.Type == "syslog" {
s, err := provider.ServiceLink(service, GetForm(r, "app"), GetForm(r, "process"))
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, s)
}
if s.Type != "papertrail" {
return httperr.Errorf(403, "linking is not yet implemented for service type: %s", s.Type)
}
app := GetForm(r, "app")
a, err := models.GetApp(app)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such app: %s", app)
}
if err != nil {
return httperr.Server(err)
}
err = s.LinkPapertrail(*a)
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, s)
}
开发者ID:cleblanc87,项目名称:rack,代码行数:49,代码来源:links.go
示例18: ServiceDelete
func ServiceDelete(rw http.ResponseWriter, r *http.Request) *httperr.Error {
service := mux.Vars(r)["service"]
s, err := models.GetService(service)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such service: %s", service)
}
if err != nil {
return httperr.Server(err)
}
// new services should use the provider interfaces
if s.Type == "syslog" {
s, err := provider.ServiceDelete(service)
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, s)
}
err = s.Delete()
if err != nil {
return httperr.Server(err)
}
s, err = models.GetService(service)
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, s)
}
开发者ID:cleblanc87,项目名称:rack,代码行数:33,代码来源:services.go
示例19: RegistryDelete
func RegistryDelete(rw http.ResponseWriter, r *http.Request) *httperr.Error {
// server := mux.Vars(r)["server"]
server := r.FormValue("server")
env, acs, err := models.GetPrivateRegistriesAuth()
if err != nil {
return httperr.Server(err)
}
ac, ok := acs[server]
if !ok {
return httperr.Errorf(404, "no such registry: %s", server)
}
models.DockerLogout(ac)
delete(acs, server)
dat, err := json.Marshal(acs)
if err != nil {
return httperr.Server(err)
}
env["DOCKER_AUTH_DATA"] = string(dat)
err = models.PutRackSettings(env)
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, ac)
}
开发者ID:soulware,项目名称:rack,代码行数:35,代码来源:registries.go
示例20: ServiceDelete
func ServiceDelete(rw http.ResponseWriter, r *http.Request) *httperr.Error {
service := mux.Vars(r)["service"]
s, err := models.GetService(service)
if awsError(err) == "ValidationError" {
return httperr.Errorf(404, "no such service: %s", service)
}
if err != nil {
return httperr.Server(err)
}
err = s.Delete()
if err != nil {
return httperr.Server(err)
}
s, err = models.GetService(service)
if err != nil {
return httperr.Server(err)
}
return RenderJson(rw, s)
}
开发者ID:gisnalbert,项目名称:rack,代码行数:27,代码来源:services.go
注:本文中的github.com/convox/rack/api/httperr.Errorf函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论