diff --git a/core/router/router.go b/core/router/router.go index 7c9897c1..e3b33671 100644 --- a/core/router/router.go +++ b/core/router/router.go @@ -97,6 +97,14 @@ func (router *Router) FindClosestPaths(subdomain, searchPath string, n int) []st return list } +func (router *Router) buildMainHandler(cPool *context.Pool, requestHandler RequestHandler) { + router.mainHandler = func(w http.ResponseWriter, r *http.Request) { + ctx := cPool.Acquire(w, r) + router.requestHandler.HandleRequest(ctx) + cPool.Release(ctx) + } +} + func (router *Router) buildMainHandlerWithFilters(routerFilters map[Party]*Filter, cPool *context.Pool, requestHandler RequestHandler) { sortedFilters := make([]*Filter, 0, len(routerFilters)) // key was just there to enforce uniqueness on API level. @@ -215,11 +223,7 @@ func (router *Router) BuildRouter(cPool *context.Pool, requestHandler RequestHan if routerFilters := routesProvider.GetRouterFilters(); len(routerFilters) > 0 { router.buildMainHandlerWithFilters(routerFilters, cPool, requestHandler) } else { - router.mainHandler = func(w http.ResponseWriter, r *http.Request) { - ctx := cPool.Acquire(w, r) - router.requestHandler.HandleRequest(ctx) - cPool.Release(ctx) - } + router.buildMainHandler(cPool, requestHandler) } for i := len(router.wrapperFuncs) - 1; i >= 0; i-- { diff --git a/iris.go b/iris.go index cec233bc..695a2191 100644 --- a/iris.go +++ b/iris.go @@ -665,7 +665,7 @@ func (app *Application) Build() error { if cb := app.OnBuild; cb != nil { if err := cb(); err != nil { - return err + return fmt.Errorf("build: %w", err) } } @@ -721,16 +721,14 @@ func (app *Application) Build() error { app.view.AddFunc("urlpath", rv.Path) // app.view.AddFunc("url", rv.URL) if err := app.view.Load(); err != nil { - app.logger.Errorf("View Builder: %v", err) - return err + return fmt.Errorf("build: view engine: %v", err) } } if !app.Router.Downgraded() { // router if _, err := injectLiveReload(app); err != nil { - app.logger.Errorf("LiveReload: init: failed: %v", err) - return err + return fmt.Errorf("build: inject live reload: failed: %v", err) } if app.config.ForceLowercaseRouting { @@ -747,8 +745,7 @@ func (app *Application) Build() error { routerHandler := router.NewDefaultHandler(app.config, app.logger) err := app.Router.BuildRouter(app.ContextPool, routerHandler, app.APIBuilder, false) if err != nil { - app.logger.Error(err) - return err + return fmt.Errorf("build: router: %w", err) } app.HTTPErrorHandler = routerHandler