Files
gitea-pages/pkg/core/render.go
2025-05-08 17:36:24 +08:00

30 lines
455 B
Go

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]
}