本文整理汇总了Golang中github.com/peachdocs/peach/modules/middleware.Context类的典型用法代码示例。如果您正苦于以下问题:Golang Context类的具体用法?Golang Context怎么用?Golang Context使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Context类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: Docs
func Docs(ctx *middleware.Context) {
toc := models.Tocs[ctx.Locale.Language()]
if toc == nil {
toc = models.Tocs[setting.Docs.Langs[0]]
}
ctx.Data["Toc"] = toc
nodeName := strings.TrimPrefix(strings.ToLower(strings.TrimSuffix(ctx.Req.URL.Path, ".html")), setting.Page.DocsBaseURL)
node, isDefault := toc.GetDoc(nodeName)
if node == nil {
NotFound(ctx)
return
}
if !setting.ProdMode {
node.ReloadContent()
}
langVer := toc.Lang
if isDefault {
ctx.Data["IsShowingDefault"] = isDefault
langVer = setting.Docs.Langs[0]
}
ctx.Data["Title"] = node.Title
ctx.Data["Content"] = fmt.Sprintf(`<script type="text/javascript" src="/%s/%s?=%d"></script>`, langVer, node.DocumentPath+".js", node.LastBuildTime)
renderEditPage(ctx, node.DocumentPath)
ctx.HTML(200, "docs")
}
开发者ID:52M,项目名称:peach,代码行数:28,代码来源:docs.go
示例2: Pages
func Pages(ctx *middleware.Context) {
toc := models.Tocs[ctx.Locale.Language()]
if toc == nil {
toc = models.Tocs[setting.Docs.Langs[0]]
}
pageName := strings.ToLower(strings.TrimSuffix(ctx.Req.URL.Path[1:], ".html"))
for i := range toc.Pages {
if toc.Pages[i].Name == pageName {
page := toc.Pages[i]
if !com.IsFile(page.FileName) {
ctx.Data["IsShowingDefault"] = true
page = models.Tocs[setting.Docs.Langs[0]].Pages[i]
}
if !setting.ProdMode {
page.ReloadContent()
}
ctx.Data["Title"] = page.Title
ctx.Data["Content"] = fmt.Sprintf(`<script type="text/javascript" src="/%s/%s?=%d"></script>`, toc.Lang, page.DocumentPath+".js", page.LastBuildTime)
ctx.Data["Pages"] = toc.Pages
renderEditPage(ctx, page.DocumentPath)
ctx.HTML(200, "docs")
return
}
}
NotFound(ctx)
}
开发者ID:TDose,项目名称:peach,代码行数:30,代码来源:home.go
示例3: Home
func Home(ctx *middleware.Context) {
if !setting.Page.HasLandingPage {
ctx.Redirect(setting.Page.DocsBaseURL)
return
}
ctx.HTML(200, "home")
}
开发者ID:TDose,项目名称:peach,代码行数:8,代码来源:home.go
示例4: Docs
func Docs(ctx *middleware.Context) {
toc := models.Tocs[ctx.Locale.Language()]
if toc == nil {
toc = models.Tocs[setting.Docs.Langs[0]]
}
ctx.Data["Toc"] = toc
nodeName := strings.TrimPrefix(strings.ToLower(strings.TrimSuffix(ctx.Req.URL.Path, ".html")), setting.Page.DocsBaseURL)
title, content, isDefault := toc.GetDoc(nodeName)
if content == nil {
NotFound(ctx)
return
}
ctx.Data["Title"] = title
ctx.Data["Content"] = string(content)
ctx.Data["IsShowingDefault"] = isDefault
ctx.HTML(200, "docs")
}
开发者ID:0-T-0,项目名称:peach,代码行数:18,代码来源:docs.go
示例5: Hook
func Hook(ctx *middleware.Context) {
if ctx.Query("secret") != setting.Docs.Secret {
ctx.Error(403)
return
}
log.Info("Incoming hook update request")
if err := models.ReloadDocs(); err != nil {
ctx.Error(500)
return
}
ctx.Status(200)
}
开发者ID:TDose,项目名称:peach,代码行数:13,代码来源:docs.go
示例6: DocsStatic
func DocsStatic(ctx *middleware.Context) {
if len(ctx.Params("*")) > 0 {
f, err := os.Open(path.Join(models.Tocs[setting.Docs.Langs[0]].RootPath, "images", ctx.Params("*")))
if err != nil {
ctx.JSON(500, map[string]interface{}{
"error": err.Error(),
})
return
}
defer f.Close()
_, err = io.Copy(ctx.Resp, f)
if err != nil {
ctx.JSON(500, map[string]interface{}{
"error": err.Error(),
})
return
}
return
}
ctx.Error(404)
}
开发者ID:TDose,项目名称:peach,代码行数:22,代码来源:docs.go
示例7: Pages
func Pages(ctx *middleware.Context) {
toc := models.Tocs[ctx.Locale.Language()]
if toc == nil {
toc = models.Tocs[setting.Docs.Langs[0]]
}
pageName := strings.ToLower(strings.TrimSuffix(ctx.Req.URL.Path[1:], ".html"))
for i := range toc.Pages {
if toc.Pages[i].Name == pageName {
page := toc.Pages[i]
if !com.IsFile(page.FileName) {
ctx.Data["IsShowingDefault"] = true
page = models.Tocs[setting.Docs.Langs[0]].Pages[i]
}
ctx.Data["Title"] = page.Title
ctx.Data["Content"] = string(page.Content())
ctx.Data["Pages"] = toc.Pages
ctx.HTML(200, "docs")
return
}
}
NotFound(ctx)
}
开发者ID:0-T-0,项目名称:peach,代码行数:24,代码来源:home.go
示例8: Protect
func Protect(ctx *middleware.Context) {
if !models.Protector.HasProtection {
return
}
// Check if resource is protected.
allows, yes := models.Protector.Resources[strings.TrimPrefix(ctx.Req.URL.Path, "/docs/")]
if !yes {
return
}
// Check if auth is presented.
authHead := ctx.Req.Header.Get("Authorization")
if len(authHead) == 0 {
authRequired(ctx)
return
}
auths := strings.Fields(authHead)
if len(auths) != 2 || auths[0] != "Basic" {
ctx.Error(401)
return
}
uname, passwd, err := basicAuthDecode(auths[1])
if err != nil {
ctx.Error(401)
return
}
// Check if auth is valid.
if models.Protector.Users[uname] != encodeMd5(passwd) {
ctx.Error(401)
return
}
// Check if user has access to the resource.
if !allows[uname] {
ctx.Error(403)
return
}
}
开发者ID:52M,项目名称:peach,代码行数:42,代码来源:protect.go
示例9: NotFound
func NotFound(ctx *middleware.Context) {
ctx.Data["Title"] = "404"
ctx.HTML(404, "404")
}
开发者ID:TDose,项目名称:peach,代码行数:4,代码来源:home.go
示例10: authRequired
func authRequired(ctx *middleware.Context) {
ctx.Resp.Header().Set("WWW-Authenticate", "Basic realm=\".\"")
ctx.Error(401)
}
开发者ID:52M,项目名称:peach,代码行数:4,代码来源:protect.go
注:本文中的github.com/peachdocs/peach/modules/middleware.Context类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论