summaryrefslogtreecommitdiffstats
path: root/modules/context/csrf.go
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2022-04-02 00:34:57 +0800
committerGitHub <noreply@github.com>2022-04-02 00:34:57 +0800
commit4f27c289472a4cfafb5a9b0e38e6a3413c30c562 (patch)
tree4a9388cfaf2efe4e9d0ed0242736769ef7e3e083 /modules/context/csrf.go
parent4c5cb1e2f2c7a1fcc3b151192bd45bd1bbc090bd (diff)
downloadgitea-4f27c289472a4cfafb5a9b0e38e6a3413c30c562.tar.gz
gitea-4f27c289472a4cfafb5a9b0e38e6a3413c30c562.zip
Remove legacy `unknwon/com` package (#19298)
Follows: #19284 * The `CopyDir` is only used inside test code * Rewrite `ToSnakeCase` with more test cases * The `RedisCacher` only put strings into cache, here we use internal `toStr` to replace the legacy `ToStr` * The `UniqueQueue` can use string as ID directly, no need to call `ToStr`
Diffstat (limited to 'modules/context/csrf.go')
-rw-r--r--modules/context/csrf.go15
1 files changed, 12 insertions, 3 deletions
diff --git a/modules/context/csrf.go b/modules/context/csrf.go
index 1fb992e2ae..4fc9270504 100644
--- a/modules/context/csrf.go
+++ b/modules/context/csrf.go
@@ -22,8 +22,10 @@ import (
"encoding/base32"
"fmt"
"net/http"
+ "strconv"
"time"
+ "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/util"
"code.gitea.io/gitea/modules/web/middleware"
@@ -215,9 +217,16 @@ func Csrfer(opt CsrfOptions, ctx *Context) CSRF {
}
x.ID = "0"
- uid := ctx.Session.Get(opt.SessionKey)
- if uid != nil {
- x.ID = util.ToStr(uid)
+ uidAny := ctx.Session.Get(opt.SessionKey)
+ if uidAny != nil {
+ switch uidVal := uidAny.(type) {
+ case string:
+ x.ID = uidVal
+ case int64:
+ x.ID = strconv.FormatInt(uidVal, 10)
+ default:
+ log.Error("invalid uid type in session: %T", uidAny)
+ }
}
needsNew := false