本文整理汇总了Golang中github.com/Unknwon/macaron.Context.Redirect方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Redirect方法的具体用法?Golang Context.Redirect怎么用?Golang Context.Redirect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/Unknwon/macaron.Context
的用法示例。
在下文中一共展示了Context.Redirect方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: handleProfile
func handleProfile(ctx *macaron.Context) string {
switch ctx.Query("op") {
case "startcpu":
if err := StartCPUProfile(); err != nil {
return err.Error()
}
case "stopcpu":
if err := StopCPUProfile(); err != nil {
return err.Error()
}
case "mem":
dumpMemProf()
case "gc":
var buf bytes.Buffer
DumpGCSummary(&buf)
return string(buf.Bytes())
default:
return fmt.Sprintf(`<p>Available operations:</p>
<ol>
<li><a href="%s?op=startcpu">Start CPU profile</a></li>
<li><a href="%s?op=stopcpu">Stop CPU profile</a></li>
<li><a href="%s?op=mem">Dump memory profile</a></li>
<li><a href="%s?op=gc">Dump GC summary</a></li>
</ol>`, opt.ProfileURLPrefix, opt.ProfileURLPrefix, opt.ProfileURLPrefix, opt.ProfileURLPrefix)
}
ctx.Redirect(opt.ProfileURLPrefix)
return ""
}
示例2: docs
func docs(ctx *macaron.Context, locale i18n.Locale, name string) {
docRoot := models.GetDocByLocale(name, locale.Lang)
if docRoot == nil {
docRoot = models.GetDocByLocale(name, "en-US")
}
link := strings.TrimPrefix(ctx.Params("*"), "/")
link = strings.TrimSuffix(link, ".html")
link = strings.TrimSuffix(link, ".md")
ctx.Data["Link"] = "/docs/" + link
var doc *models.DocNode
if len(link) == 0 {
ctx.Redirect("/docs/intro/")
return
}
doc, _ = docRoot.GetNodeByLink(link)
if doc == nil {
doc, _ = docRoot.GetNodeByLink(link + "/")
}
if doc == nil {
ctx.Error(404)
return
}
ctx.Data["DocRoot"] = docRoot
ctx.Data["Doc"] = doc
ctx.Data["Title"] = doc.Name
ctx.Data["Data"] = doc.GetContent()
ctx.HTML(200, "document_"+name, ctx.Data)
}
示例3: login
func login(ctx *macaron.Context, s session.Store, opt *Options) {
next := extractPath(ctx.Query(KEY_NEXT_PAGE))
if s.Get(KEY_TOKEN) == nil {
// User is not logged in.
if next == "" {
next = AppSubUrl + "/"
}
// println(111, opt.AuthCodeURL(next, "", ""))
ctx.Redirect(opt.AuthCodeURL(next, "", ""))
return
}
// No need to login, redirect to the next page.
ctx.Redirect(next)
}
示例4: handleOAuth2Callback
func handleOAuth2Callback(ctx *macaron.Context, s session.Store, opt *Options) {
next := extractPath(ctx.Query("state"))
code := ctx.Query("code")
t, err := opt.NewTransportFromCode(code)
if err != nil {
// Pass the error message, or allow dev to provide its own
// error handler.
println(err.Error())
ctx.Redirect(PathError)
return
}
// Store the credentials in the session.
val, _ := json.Marshal(t.Token())
s.Set(KEY_TOKEN, val)
ctx.Redirect(next)
}
示例5: Docs
func Docs(ctx *macaron.Context, locale i18n.Locale) {
docRoot := models.GetDocByLocale(
"gitea",
locale.Lang)
if docRoot == nil {
ctx.Error(404)
return
}
link := strings.TrimSuffix(
strings.TrimSuffix(
strings.TrimPrefix(
ctx.Params("*"),
"/"),
".html"),
".md")
ctx.Data["Link"] = "/docs/" + link
if len(link) == 0 {
ctx.Redirect("/docs/intro/")
return
}
doc, _ := docRoot.GetNodeByLink(link)
if doc == nil {
doc, _ = docRoot.GetNodeByLink(link + "/")
}
if doc == nil {
ctx.Error(404)
return
}
ctx.Data["DocRoot"] = docRoot
ctx.Data["Doc"] = doc
ctx.Data["Title"] = doc.Name
ctx.Data["Data"] = doc.GetContent()
ctx.HTML(200, "gitea", ctx.Data)
}
示例6: logout
func logout(ctx *macaron.Context, s session.Store) {
next := extractPath(ctx.Query(KEY_NEXT_PAGE))
s.Delete(KEY_TOKEN)
ctx.Redirect(next)
}