package response import ( "net/http" ) type ( HandlerFunc = func(r *http.Request) (Response, error) Middleware = func(HandlerFunc) HandlerFunc ) func Handler(f HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { res, err := f(r) if err != nil { WriteError(w, err) } else { Write(w, r, res) } } }