package srv import ( "net/http" "git.clearsky.net.au/cody/gex.git/utils" ) var rtr *http.ServeMux /* Our Special HandleFunc */ func Route(pattern string, handler func(req *Req, res *Res)) { realHandler := func(w http.ResponseWriter, r *http.Request) { var req Req var res Res req.Construct(r) res.Construct(w, r) // run middleware on each request for _, fun := range middleware { err := fun(&req, &res) if err != nil { utils.Err(err) return } } handler(&req, &res) } rtr.HandleFunc(pattern, realHandler) } func InitRouter() { rtr = http.NewServeMux() // Public Files fs := http.FileServer(http.Dir("app/pub")) rtr.Handle("GET /app/pub/", http.StripPrefix("/app/pub/", fs)) }