支持模板渲染 / 修复 bug

This commit is contained in:
dragon
2025-04-15 16:31:19 +08:00
parent b505b6a5fb
commit bd37e64c1c
10 changed files with 226 additions and 38 deletions

29
pkg/renders/render.go Normal file
View File

@@ -0,0 +1,29 @@
package renders
import (
"io"
"net/http"
"sync"
)
var (
renders = make(map[string]Render)
lock = &sync.Mutex{}
)
type Render interface {
Render(w http.ResponseWriter, r *http.Request, input io.Reader) error
}
func RegisterRender(fType string, r Render) {
lock.Lock()
defer lock.Unlock()
if renders[fType] != nil {
panic("duplicate render type: " + fType)
}
renders[fType] = r
}
func GetRender(key string) Render {
return renders[key]
}