本文整理匯總了Golang中github.com/ian-kent/gotcha/http.Session類的典型用法代碼示例。如果您正苦於以下問題:Golang Session類的具體用法?Golang Session怎麽用?Golang Session使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Session類的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: show_log
func show_log(session *http.Session) {
session.Stash["Title"] = "websysd log"
session.Stash["Page"] = "AppLog"
session.Stash["LogOutput"] = applog.String()
session.RenderWithLayout("applog.html", "layout.html", "Content")
}
示例2: list_workspaces
func list_workspaces(session *http.Session) {
// Stash a value and render a template
session.Stash["Title"] = "websysd"
session.Stash["Page"] = "Workspaces"
session.Stash["Workspaces"] = Workspaces
session.RenderWithLayout("workspaces.html", "layout.html", "Content")
}
示例3: redir
func redir(session *http.Session) {
redir := "/"
if k := session.Request.Referer(); len(k) > 0 {
redir = k
}
session.Redirect(&url.URL{Path: redir})
}
示例4: list_tasks
func list_tasks(session *http.Session) {
ws, _ := session.Stash["workspace"].(string)
// Stash a value and render a template
session.Stash["Title"] = "websysd"
session.Stash["Page"] = "Tasks"
session.Stash["Workspace"] = Workspaces[ws]
session.Stash["Tasks"] = Workspaces[ws].Tasks
session.RenderWithLayout("tasks.html", "layout.html", "Content")
}
示例5: taskHistory
func taskHistory(session *http.Session) {
ws, _ := session.Stash["workspace"].(string)
id, _ := session.Stash["task"].(string)
session.Stash["Title"] = "Task"
session.Stash["Page"] = "History"
session.Stash["Workspace"] = Workspaces[ws]
session.Stash["Task"] = Workspaces[ws].Tasks[id]
session.RenderWithLayout("task.html", "layout.html", "Content")
}
示例6: taskRun
func taskRun(session *http.Session) {
ws, _ := session.Stash["workspace"].(string)
id, _ := session.Stash["task"].(string)
run, _ := strconv.Atoi(session.Stash["run"].(string))
session.Stash["Title"] = "Task run"
session.Stash["Page"] = "TaskRun"
session.Stash["Workspace"] = Workspaces[ws]
session.Stash["Task"] = Workspaces[ws].Tasks[id]
session.Stash["TaskRun"] = Workspaces[ws].Tasks[id].TaskRuns[run]
session.RenderWithLayout("taskrun.html", "layout.html", "Content")
}
示例7: taskRunStderr
func taskRunStderr(session *http.Session) {
ws, _ := session.Stash["workspace"].(string)
id, _ := session.Stash["task"].(string)
run, _ := strconv.Atoi(session.Stash["run"].(string))
session.Stash["Title"] = "Task run stderr"
session.Stash["Page"] = "TaskOutput"
session.Stash["Type"] = "stderr"
session.Stash["Workspace"] = Workspaces[ws]
session.Stash["Task"] = Workspaces[ws].Tasks[id]
session.Stash["TaskRun"] = Workspaces[ws].Tasks[id].TaskRuns[run]
session.Stash["LogOutput"] = Workspaces[ws].Tasks[id].TaskRuns[run].StderrBuf.String()
session.RenderWithLayout("log.html", "layout.html", "Content")
}
示例8: Serve
func (h *Router) Serve(session *http.Session) {
for _, route := range h.Routes {
if matches := route.Route.Pattern.FindStringSubmatch(session.Request.URL.Path); len(matches) > 0 {
_, ok := route.Route.Methods[session.Request.Method]
if ok {
for i, named := range route.Route.Pattern.SubexpNames() {
if len(named) > 0 {
log.Trace("Matched named pattern '%s': %s", named, matches[i])
session.Stash[named] = matches[i]
}
}
session.Route = route.Route
defer func() {
if e := recover(); e != nil {
switch e.(type) {
case string:
session.RenderException(500, errors.New(e.(string)))
default:
session.RenderException(500, e.(error))
}
session.Response.Send()
session.Response.Close()
}
}()
var wg sync.WaitGroup
wg.Add(1)
// func() will be executed only if *all* event handlers call next()
h.Config.Events.Emit(session, events.BeforeHandler, func() {
route.Handler.ServeHTTP(session)
h.Config.Events.Emit(session, events.AfterHandler, func() {
session.Response.Send()
session.Response.Close()
wg.Done()
})
})
wg.Wait()
return
}
}
}
// no pattern matched; send 404 response
h.Config.Events.Emit(session, events.BeforeHandler, func() {
session.RenderNotFound()
h.Config.Events.Emit(session, events.AfterHandler, func() {
session.Response.Send()
})
})
}
示例9: example3
func example3(session *http.Session) {
session.Redirect(&url.URL{Path: "/foo"})
}
示例10: example
func example(session *http.Session) {
// Stash a value and render a template
session.Stash["Title"] = "Welcome to Gotcha"
session.Render("index.html")
}