本文整理汇总了Golang中github.com/Unknwon/macaron.Context.Map方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Map方法的具体用法?Golang Context.Map怎么用?Golang Context.Map使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/Unknwon/macaron.Context
的用法示例。
在下文中一共展示了Context.Map方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: validateAndMap
// Performs validation and combines errors from validation
// with errors from deserialization, then maps both the
// resulting struct and the errors to the context.
func validateAndMap(obj reflect.Value, ctx *macaron.Context, errors *Errors, ifacePtr ...interface{}) {
ctx.Invoke(Validate(obj.Interface()))
errors.Combine(getErrors(ctx))
ctx.Map(*errors)
ctx.Map(obj.Elem().Interface())
if len(ifacePtr) > 0 {
ctx.MapTo(obj.Elem().Interface(), ifacePtr[0])
}
}
示例2: UserNeeded
func UserNeeded(tokens oauth2.Tokens, ctx *macaron.Context) {
user := &models.User{GithubToken: tokens.Access()}
has, err := models.DB.Get(user)
if err != nil {
ctx.Error(500, err.Error())
return
}
if !has {
gh := github.New(tokens.Access())
ghuser, err := gh.User()
if err != nil {
ctx.Error(500, err.Error())
return
}
user.Name = ghuser.Name
user.Email = ghuser.Email
user.Admin = false
models.DB.Insert(user)
}
ctx.Map(user)
}
示例3: bind
func bind(ctx *macaron.Context, obj interface{}, ifacePtr ...interface{}) {
contentType := ctx.Req.Header.Get("Content-Type")
if ctx.Req.Method == "POST" || ctx.Req.Method == "PUT" || len(contentType) > 0 {
switch {
case strings.Contains(contentType, "form-urlencoded"):
ctx.Invoke(Form(obj, ifacePtr...))
case strings.Contains(contentType, "multipart/form-data"):
ctx.Invoke(MultipartForm(obj, ifacePtr...))
case strings.Contains(contentType, "json"):
ctx.Invoke(Json(obj, ifacePtr...))
default:
var errors Errors
if contentType == "" {
errors.Add([]string{}, ERR_CONTENT_TYPE, "Empty Content-Type")
} else {
errors.Add([]string{}, ERR_CONTENT_TYPE, "Unsupported Content-Type")
}
ctx.Map(errors)
}
} else {
ctx.Invoke(Form(obj, ifacePtr...))
}
}
示例4: myLogger
func myLogger(ctx *macaron.Context) {
// 该服务的映射只会对当前请求的后续处理器有效
ctx.Map(logger)
}