golanglearn/web/framework/framework-context/gee/gee.go
2022-02-13 11:34:46 +08:00

39 lines
737 B
Go

package gee
import (
"net/http"
)
type HandlerFunc func(*Context)
type Engine struct {
router *router
}
func New() *Engine {
return &Engine{
router: newRouter(),
}
}
func (e *Engine) addRoute(method string, pattern string, handler HandlerFunc) {
e.router.addRoute(method, pattern, handler)
}
func (e *Engine) GET(pattern string, handler HandlerFunc) {
e.addRoute("GET", pattern, handler)
}
func (e *Engine) POST(pattern string, handler HandlerFunc) {
e.addRoute("POST", pattern, handler)
}
func (e *Engine) Run(addr string) error {
return http.ListenAndServe(addr, e)
}
func (e *Engine) ServeHTTP(writer http.ResponseWriter, request *http.Request) {
context := newContext(writer, request)
e.router.handle(context)
}