From 5b5a102c71454d1e39a6575545fb48d0c89a36b2 Mon Sep 17 00:00:00 2001 From: NiseVoid Date: Thu, 9 Apr 2020 10:41:23 +0200 Subject: [PATCH] Export NewContext --- context.go | 3 ++- router.go | 6 ++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/context.go b/context.go index 6b8b7a9..eec329c 100644 --- a/context.go +++ b/context.go @@ -20,7 +20,8 @@ type Context struct { store map[string]interface{} } -func newContext(router *Router, res http.ResponseWriter, req *http.Request, param httprouter.Params) *Context { +// NewContext creates a new context, this function is only exported for use in tests +func NewContext(router *Router, res http.ResponseWriter, req *http.Request, param httprouter.Params) *Context { return &Context{router, req, res, param.ByName, make(map[string]interface{})} } diff --git a/router.go b/router.go index 1584600..f53b4ca 100644 --- a/router.go +++ b/router.go @@ -152,7 +152,7 @@ func (r *Router) getHttpr() *httprouter.Router { }) httpr.PanicHandler = func(res http.ResponseWriter, req *http.Request, err interface{}) { - c := newContext(r, res, req, nil) + c := NewContext(r, res, req, nil) r.ErrorHandler(c, err) } @@ -181,8 +181,6 @@ func checkInterfaceHandle(f interface{}) { if rt.In(0) != reflect.TypeOf(&Context{}) { panic(`handle should accept Context as first argument`) } - - return } func handlePOST(r *Router, f interface{}) Handle { @@ -213,7 +211,7 @@ func handlePOST(r *Router, f interface{}) Handle { func handleReq(r *Router, handle Handle, m []Middleware) httprouter.Handle { return func(res http.ResponseWriter, req *http.Request, param httprouter.Params) { - c := newContext(r, res, req, param) + c := NewContext(r, res, req, param) f := handle for i := len(m) - 1; i >= 0; i-- {