Files
tuu/route.go

37 lines
616 B
Go

package tuu
import (
"net/http"
gcontext "github.com/gorilla/context"
"github.com/sirupsen/logrus"
)
type Route struct {
Method string
Path string
Handler Handler
Env string
Middleware MiddlewareStack
Logger *logrus.Logger
app *App
}
func (r *Route) ServeHTTP(res http.ResponseWriter, req *http.Request) {
defer gcontext.Clear(req)
c := r.app.newContext(*r, res, req)
err := r.Middleware.handler(r)(c)
if err != nil {
c.Response().WriteHeader(500)
c.Response().Write([]byte(err.Error()))
}
}
type StaticRoute struct {
Path string
Handler http.Handler
}