本文整理汇总了Golang中github.com/gamescores/gin.Context.AbortWithStatus方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.AbortWithStatus方法的具体用法?Golang Context.AbortWithStatus怎么用?Golang Context.AbortWithStatus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/gamescores/gin.Context
的用法示例。
在下文中一共展示了Context.AbortWithStatus方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: saveContext
func (cds contextDefinitionService) saveContext(c *gin.Context) {
var contextDefinition ContextDefinition
c.Bind(&contextDefinition)
if !cds._isValid(contextDefinition) {
c.AbortWithStatus(http.StatusBadRequest)
return
}
user := getCurrentUserFromGinContext(c)
// Run all of this in a transaction (even if we are on service level)
err := datastore.RunInTransaction(getGaeContext(c), func(gaeCtx appengine.Context) error {
contextDao := contextDefinitionDao{dao{gaeCtx}}
idExists, err := contextDao.checkIDExists(contextDefinition.ID)
if err != nil {
return err
}
if idExists {
return ErrIDAlreadyExists
}
contextDefinition.Owner = datastore.NewKey(gaeCtx, entityUser, user.UserID, 0, nil)
contextDefinition.Active = true
err = contextDao.saveContext(contextDefinition)
if err != nil {
return err
}
return nil
}, &datastore.TransactionOptions{
XG: true,
})
if err != nil {
returnStatus := http.StatusInternalServerError
if err == ErrIDAlreadyExists {
returnStatus = http.StatusConflict
}
c.AbortWithError(returnStatus, err)
return
}
contextDefinition.RemoveLink(relCreate)
contextDefinition.RemoveLink(relCheckID)
if productionDomain := os.Getenv("PRODUCTION_DOMAIN"); productionDomain != "" {
contextDefinition.AddLink(relSelf, fmt.Sprintf("http://%s.%s", contextDefinition.ID, productionDomain))
}
c.JSON(200, contextDefinition)
}
示例2: importScoreBoardV1
func (as AdminService) importScoreBoardV1(c *gin.Context) {
var importDefinition domain.ScoreBoardV1Import
c.Bind(&importDefinition)
if importDefinition.DbDumpUrl == "" {
c.AbortWithStatus(http.StatusBadRequest)
return
}
createTask := &taskqueue.Task{
Path: "/tasks/import/scoreboardv1",
Payload: []byte(importDefinition.DbDumpUrl),
}
hostName, _ := appengine.ModuleHostname(utils.GetGaeRootContext(c), appengine.ModuleName(utils.GetGaeRootContext(c)), "", "")
createTask.Header = http.Header{}
createTask.Header.Set("Host", hostName)
createTask.Header.Set(utils.NamespaceHeader, utils.GetNamespace(c))
_, err := taskqueue.Add(utils.GetGaeRootContext(c), createTask, "contextqueue")
if err != nil {
utils.GetGaeRootContext(c).Errorf("Error calling taskqueue.Add in importScoreBoardV1: %v", err)
c.AbortWithError(http.StatusInternalServerError, err)
return
}
importDao := dao.CreateImportDao(c)
importStatus, err := importDao.SetStatus(true, 0, 0, 0, 0, 0, 0)
if err != nil {
utils.GetGaeRootContext(c).Errorf("Error calling importDao.setStatus in importScoreBoardV1: %v", err)
c.AbortWithError(http.StatusInternalServerError, err)
return
}
importStatus.AddLink(relImportStatus, "/api/admin/import/scoreboardv1/status")
c.JSON(200, importStatus)
}