summaryrefslogtreecommitdiffstats
path: root/modules/context
diff options
context:
space:
mode:
authorwxiaoguang <wxiaoguang@gmail.com>2023-04-30 20:22:23 +0800
committerGitHub <noreply@github.com>2023-04-30 08:22:23 -0400
commite3750370df3be1413b1526668cbee60dc2a39f03 (patch)
treecc61431d00e62df1a8be5e2f050105749ddad5e8 /modules/context
parent8f4dafcd4e6b0b5d307c3e060ffe908c2a96f047 (diff)
downloadgitea-e3750370df3be1413b1526668cbee60dc2a39f03.tar.gz
gitea-e3750370df3be1413b1526668cbee60dc2a39f03.zip
Use globally shared HTMLRender (#24436)
The old `HTMLRender` is not ideal. 1. It shouldn't be initialized multiple times, it consumes a lot of memory and is slow. 2. It shouldn't depend on short-lived requests, the `WatchLocalChanges` needs a long-running context. 3. It doesn't make sense to use FuncsMap slice. HTMLRender was designed to only work for GItea's specialized 400+ templates, so it's good to make it a global shared instance.
Diffstat (limited to 'modules/context')
-rw-r--r--modules/context/context.go2
-rw-r--r--modules/context/package.go2
2 files changed, 2 insertions, 2 deletions
diff --git a/modules/context/context.go b/modules/context/context.go
index 702da8a965..cd7fcebe55 100644
--- a/modules/context/context.go
+++ b/modules/context/context.go
@@ -677,7 +677,7 @@ func getCsrfOpts() CsrfOptions {
// Contexter initializes a classic context for a request.
func Contexter(ctx context.Context) func(next http.Handler) http.Handler {
- _, rnd := templates.HTMLRenderer(ctx)
+ rnd := templates.HTMLRenderer()
csrfOpts := getCsrfOpts()
if !setting.IsProd {
CsrfTokenRegenerationInterval = 5 * time.Second // in dev, re-generate the tokens more aggressively for debug purpose
diff --git a/modules/context/package.go b/modules/context/package.go
index 2a0159eb5c..6c418b3164 100644
--- a/modules/context/package.go
+++ b/modules/context/package.go
@@ -131,7 +131,7 @@ func determineAccessMode(ctx *Context) (perm.AccessMode, error) {
// PackageContexter initializes a package context for a request.
func PackageContexter(ctx gocontext.Context) func(next http.Handler) http.Handler {
- _, rnd := templates.HTMLRenderer(ctx)
+ rnd := templates.HTMLRenderer()
return func(next http.Handler) http.Handler {
return http.HandlerFunc(func(resp http.ResponseWriter, req *http.Request) {
ctx := Context{