本文整理汇总了Golang中pixelrelay/models.Page.SetEncoding方法的典型用法代码示例。如果您正苦于以下问题:Golang Page.SetEncoding方法的具体用法?Golang Page.SetEncoding怎么用?Golang Page.SetEncoding使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pixelrelay/models.Page
的用法示例。
在下文中一共展示了Page.SetEncoding方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: MapEncoder
// MapEncoder intercepts the request's URL, detects the requested format,
// and injects the correct encoder dependency for this request. It rewrites
// the URL to remove the format extension, so that routes can be defined
// without it.
func MapEncoder(c martini.Context, w http.ResponseWriter, r *http.Request, p *models.Page) {
// Get the format extension
matches := rxExt.FindStringSubmatch(r.URL.Path)
ft := ".html"
if len(matches) > 1 {
// Rewrite the URL without the format extension
l := len(r.URL.Path) - len(matches[1])
if strings.HasSuffix(r.URL.Path, "/") {
l--
}
r.URL.Path = r.URL.Path[:l]
ft = matches[1]
}
// Inject the requested encoder
switch ft {
case ".json":
p.SetEncoding("json")
default:
p.SetEncoding("html")
}
}