add human-friendly middleware names on route debugging (see HISTORY.md#Next)

Former-commit-id: f7291c4a077c4d1573344c93ba8a153fede18795
This commit is contained in:
Gerasimos (Makis) Maropoulos 2020-04-28 05:42:23 +03:00
parent b657c5e6af
commit c366c34644
10 changed files with 43 additions and 17 deletions

View File

@ -165,7 +165,7 @@ func main() {
"data": user.Serializer(),
})
})
app.Listen(":8080")
}

View File

@ -47,7 +47,7 @@ func main() {
app.HandleMany("GET POST", "/socket.io/{any:path}", iris.FromStd(server))
app.HandleDir("/", "./asset")
app.Listen(":8000", iris.WithoutPathCorrection)
}

View File

@ -132,7 +132,7 @@ func (h *routerHandler) Build(provider RoutesProvider) error {
for _, r := range registeredRoutes {
if h.config != nil && h.config.GetForceLowercaseRouting() {
// only in that state, keep everyting else as end-developer registered.
// only in that state, keep everything else as end-developer registered.
r.Path = strings.ToLower(r.Path)
}
@ -162,7 +162,7 @@ func (h *routerHandler) Build(provider RoutesProvider) error {
tr = tr[0 : len(tr)-1]
}
golog.Debugf("API: [%d] %s", len(registeredRoutes), tr)
golog.Debugf("API: %d registered %s", len(registeredRoutes), tr)
// group routes by method and print them without the [DBUG] and time info,
// the route logs are colorful.

View File

@ -343,6 +343,7 @@ func (r *Route) ResolvePath(args ...string) string {
var ignoreHandlersTraces = [...]string{
"iris/macro/handler.MakeHandler",
"iris/hero.makeHandler.func2",
"iris/core/router.(*APIBuilder).Favicon",
"iris/core/router.StripPrefix",
}

31
iris.go
View File

@ -768,6 +768,24 @@ func (app *Application) Build() error {
app.Router.WrapRouter(app.I18n.Wrapper())
}
if n := app.view.Len(); n > 0 {
tr := "engines"
if n == 1 {
tr = tr[0 : len(tr)-1]
}
app.logger.Debugf("Application: %d registered view %s", n, tr)
// view engine
// here is where we declare the closed-relative framework functions.
// Each engine has their defaults, i.e yield,render,render_r,partial, params...
rv := router.NewRoutePathReverser(app.APIBuilder)
app.view.AddFunc("urlpath", rv.Path)
// app.view.AddFunc("url", rv.URL)
if err := app.view.Load(); err != nil {
rp.Group("View Builder").Err(err)
}
}
if !app.Router.Downgraded() {
// router
if err := app.tryInjectLiveReload(); err != nil {
@ -790,19 +808,6 @@ func (app *Application) Build() error {
// re-build of the router from outside can be done with
// app.RefreshRouter()
}
if app.view.Len() > 0 {
app.logger.Debugf("Application: %d registered view engine(s)", app.view.Len())
// view engine
// here is where we declare the closed-relative framework functions.
// Each engine has their defaults, i.e yield,render,render_r,partial, params...
rv := router.NewRoutePathReverser(app.APIBuilder)
app.view.AddFunc("urlpath", rv.Path)
// app.view.AddFunc("url", rv.URL)
if err := app.view.Load(); err != nil {
rp.Group("View Builder").Err(err)
}
}
}
return errgroup.Check(rp)

View File

@ -12,6 +12,10 @@ import (
"github.com/kataras/iris/v12/context"
)
func init() {
context.SetHandlerName("iris/middleware/basicauth.*", "Basic Authentication")
}
type (
encodedUser struct {
HeaderValue string

View File

@ -10,6 +10,10 @@ import (
"github.com/kataras/iris/v12/context"
)
func init() {
context.SetHandlerName("iris/middleware/hcaptcha.*", "hCaptcha")
}
var (
// ResponseContextKey is the default request's context key that response of a hcaptcha request is kept.
ResponseContextKey string = "iris.hcaptcha"

View File

@ -11,6 +11,10 @@ import (
"github.com/kataras/iris/v12/core/handlerconv"
)
func init() {
context.SetHandlerName("iris/middleware/pprof.*", "Profiling")
}
// New returns a new pprof (profile, cmdline, symbol, goroutine, heap, threadcreate, debug/block) Middleware.
// Note: Route MUST have the last named parameter wildcard named '{action:path}'
func New() context.Handler {

View File

@ -11,6 +11,10 @@ import (
"github.com/kataras/iris/v12/core/netutil"
)
func init() {
context.SetHandlerName("iris/middleware/recaptcha.*", "reCAPTCHA")
}
const (
// responseFormValue = "g-recaptcha-response"
apiURL = "https://www.google.com/recaptcha/api/siteverify"

View File

@ -9,6 +9,10 @@ import (
"github.com/kataras/iris/v12/context"
)
func init() {
context.SetHandlerName("iris/middleware/recover.*", "Panic Recover")
}
func getRequestLogs(ctx context.Context) string {
var status, ip, method, path string
status = strconv.Itoa(ctx.GetStatusCode())