支持模板渲染 / 修复 bug
This commit is contained in:
29
pkg/renders/render.go
Normal file
29
pkg/renders/render.go
Normal 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]
|
||||
}
|
||||
Reference in New Issue
Block a user