diff --git a/atreugo.go b/atreugo.go index 32713d9..3edc957 100644 --- a/atreugo.go +++ b/atreugo.go @@ -50,11 +50,11 @@ func New(cfg Config) *Atreugo { r := newRouter(cfg) if cfg.NotFoundView != nil { - r.router.NotFound = viewToHandler(cfg.NotFoundView, r.cfg.errorView) + r.router.NotFound = viewToHandler(cfg.NotFoundView, r.errorView) } if cfg.MethodNotAllowedView != nil { - r.router.MethodNotAllowed = viewToHandler(cfg.MethodNotAllowedView, r.cfg.errorView) + r.router.MethodNotAllowed = viewToHandler(cfg.MethodNotAllowedView, r.errorView) } if cfg.PanicView != nil { diff --git a/router.go b/router.go index 9cc93c2..0d428b1 100644 --- a/router.go +++ b/router.go @@ -49,12 +49,8 @@ func newRouter(cfg Config) *Router { router.HandleOPTIONS = false return &Router{ - cfg: &routerConfig{ - errorView: cfg.ErrorView, - debug: cfg.Debug, - logger: cfg.Logger, - }, router: router, + errorView: cfg.ErrorView, handleOPTIONS: true, } } @@ -121,7 +117,7 @@ func (r *Router) handler(fn View, middle Middlewares) fasthttp.RequestHandler { statusCode = fasthttp.StatusInternalServerError } - r.cfg.errorView(actx, err, statusCode) + r.errorView(actx, err, statusCode) break } else if !actx.next { @@ -183,10 +179,10 @@ func (r *Router) NewGroupPath(path string) *Router { } return &Router{ - cfg: r.cfg, parent: r, router: r.router, routerMutable: r.routerMutable, + errorView: r.errorView, prefix: path, group: groupFunc(path), handleOPTIONS: r.handleOPTIONS, @@ -353,7 +349,7 @@ func (r *Router) StaticCustom(url string, fs *StaticFS) *Path { } if fs.PathNotFound != nil { - ffs.PathNotFound = viewToHandler(fs.PathNotFound, r.cfg.errorView) + ffs.PathNotFound = viewToHandler(fs.PathNotFound, r.errorView) } stripSlashes := strings.Count(r.getGroupFullPath(url), "/") diff --git a/router_test.go b/router_test.go index b8ecfe5..fb61399 100644 --- a/router_test.go +++ b/router_test.go @@ -139,16 +139,12 @@ func TestRouter_newRouter(t *testing.T) { t.Error("Router routerMutable is true") } - if !r.handleOPTIONS { - t.Error("Router handleOPTIONS is false") + if !isEqual(r.errorView, testConfig.ErrorView) { + t.Errorf("Router errorView == %p, want %p", r.errorView, testConfig.ErrorView) } - if !isEqual(r.cfg.errorView, testConfig.ErrorView) { - t.Errorf("Router log == %p, want %p", r.cfg.errorView, testConfig.ErrorView) - } - - if !isEqual(r.cfg.logger, testConfig.Logger) { - t.Errorf("Router log == %p, want %p", r.cfg.logger, testConfig.Logger) + if !r.handleOPTIONS { + t.Error("Router handleOPTIONS is false") } } @@ -775,12 +771,12 @@ func TestRouter_NewGroupPath(t *testing.T) { t.Errorf("Group router routerMutable == '%v', want '%v'", g.routerMutable, r.routerMutable) } - if g.handleOPTIONS != r.handleOPTIONS { - t.Errorf("Group router handleOPTIONS == '%v', want '%v'", g.handleOPTIONS, r.handleOPTIONS) + if !isEqual(g.errorView, r.errorView) { + t.Errorf("Group router errorView == '%p', want '%p'", g.errorView, r.errorView) } - if !isEqual(g.cfg, r.cfg) { - t.Errorf("Group router config == %p, want %p", g.cfg, r.cfg) + if g.handleOPTIONS != r.handleOPTIONS { + t.Errorf("Group router handleOPTIONS == '%v', want '%v'", g.handleOPTIONS, r.handleOPTIONS) } } diff --git a/types.go b/types.go index 5f7a539..28d1c5d 100644 --- a/types.go +++ b/types.go @@ -493,13 +493,6 @@ type RequestCtx struct { *fasthttp.RequestCtx } -type routerConfig struct { - errorView ErrorView - - debug bool - logger Logger -} - // Router dispatchs requests to different // views via configurable routes (paths) // @@ -507,10 +500,10 @@ type routerConfig struct { type Router struct { noCopy nocopy.NoCopy // nolint:structcheck,unused - cfg *routerConfig parent *Router router *fastrouter.Router routerMutable bool + errorView ErrorView prefix string group *fastrouter.Group