Improve compatibility with old browsers (#136)
Reviewed-on: #136
This commit was merged in pull request #136.
This commit is contained in:
@@ -3,6 +3,7 @@ package main
|
||||
import (
|
||||
"errors"
|
||||
"github.com/gin-gonic/gin"
|
||||
"log"
|
||||
"net/http"
|
||||
"strconv"
|
||||
)
|
||||
@@ -26,11 +27,22 @@ func loadWebEndpoints(router *gin.Engine) {
|
||||
router.GET("/completeAllowance", renderCompleteAllowance)
|
||||
}
|
||||
|
||||
func redirectToPage(c *gin.Context, page string) {
|
||||
redirectToPageStatus(c, page, http.StatusSeeOther)
|
||||
}
|
||||
|
||||
func redirectToPageStatus(c *gin.Context, page string, status int) {
|
||||
scheme := c.Request.URL.Scheme
|
||||
target := scheme + domain + page
|
||||
c.Redirect(status, target)
|
||||
}
|
||||
|
||||
func renderLogin(c *gin.Context) {
|
||||
if c.Query("user") != "" {
|
||||
c.SetCookie("user", c.Query("user"), 3600, "/", "localhost", false, true)
|
||||
log.Println("Set cookie for user:", c.Query("user"))
|
||||
c.SetCookie("user", c.Query("user"), 3600, "", "", false, true)
|
||||
}
|
||||
c.Redirect(http.StatusFound, "/")
|
||||
redirectToPage(c, "/")
|
||||
}
|
||||
|
||||
func renderIndex(c *gin.Context) {
|
||||
@@ -68,7 +80,7 @@ func renderCreateTask(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.Redirect(http.StatusFound, "/")
|
||||
redirectToPageStatus(c, "/", http.StatusFound)
|
||||
}
|
||||
|
||||
func renderCompleteTask(c *gin.Context) {
|
||||
@@ -85,7 +97,7 @@ func renderCompleteTask(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.Redirect(http.StatusFound, "/")
|
||||
redirectToPageStatus(c, "/", http.StatusFound)
|
||||
}
|
||||
|
||||
func renderCreateAllowance(c *gin.Context) {
|
||||
@@ -122,7 +134,7 @@ func renderCreateAllowance(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.Redirect(http.StatusFound, "/")
|
||||
redirectToPageStatus(c, "/", http.StatusFound)
|
||||
}
|
||||
|
||||
func renderCompleteAllowance(c *gin.Context) {
|
||||
@@ -144,11 +156,12 @@ func renderCompleteAllowance(c *gin.Context) {
|
||||
return
|
||||
}
|
||||
|
||||
c.Redirect(http.StatusFound, "/")
|
||||
redirectToPageStatus(c, "/", http.StatusFound)
|
||||
}
|
||||
|
||||
func getCurrentUser(c *gin.Context) *int {
|
||||
currentUserStr, err := c.Cookie("user")
|
||||
log.Println("Cookie string:", currentUserStr)
|
||||
if errors.Is(err, http.ErrNoCookie) {
|
||||
renderNoUser(c)
|
||||
return nil
|
||||
@@ -172,7 +185,7 @@ func getCurrentUser(c *gin.Context) *int {
|
||||
|
||||
func unsetUserCookie(c *gin.Context) {
|
||||
c.SetCookie("user", "", -1, "/", "localhost", false, true)
|
||||
c.Redirect(http.StatusFound, "/")
|
||||
redirectToPageStatus(c, "/", http.StatusFound)
|
||||
}
|
||||
|
||||
func renderNoUser(c *gin.Context) {
|
||||
|
||||
Reference in New Issue
Block a user