From e3750370df3be1413b1526668cbee60dc2a39f03 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Sun, 30 Apr 2023 20:22:23 +0800 Subject: 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. --- modules/context/context.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/context/context.go') 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 -- cgit v1.2.3