重构项目

This commit is contained in:
dragon
2025-05-08 17:36:24 +08:00
parent ddd5d4af5b
commit 9413188aa9
15 changed files with 404 additions and 103 deletions

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

@@ -0,0 +1,29 @@
package core
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]
}