package main import ( "net/http" "github.com/gin-gonic/gin" ) func HttpAuth() gin.HandlerFunc { return func(c *gin.Context) { // Search signed-in userID userID := 0 if userID == 0 { // Return 404 and abort handlers chain. c.String(http.StatusNotFound, "404 page not found") c.AbortWithStatus(http.StatusNotFound) return } } } func HttpNoAuth() gin.HandlerFunc { return func(c *gin.Context) { return } } func HttpAnySignIn(c *gin.Context) { if GetWebSessionUserID(c) > 0 { c.Redirect(http.StatusTemporaryRedirect, "/p/home") } else { SetCSRFToken(c) warning, _ := c.Cookie("warning") c.SetCookie("warning", "", -1, "/", cfg.Admin.Addr, false, true) c.HTML(http.StatusOK, "page-signin.html", gin.H{ "Error": warning, }) } return } func HttpAnyIndex(c *gin.Context) { if GetWebSessionUserID(c) > 0 { c.Redirect(http.StatusTemporaryRedirect, "/p/home") } else { c.Redirect(http.StatusTemporaryRedirect, "/u/signin") } return } func HttpAnyHome(c *gin.Context) { if GetWebSessionUserID(c) == 0 { c.Redirect(http.StatusTemporaryRedirect, "/u/signin") } else { SetCSRFToken(c) c.HTML(http.StatusOK, "page-home.html", gin.H{}) } return } func GetWebSessionUserID(c *gin.Context) int64 { return 0 } func SetCSRFToken(c *gin.Context) { return }