Open geata opened 1 week ago
mybe there's no way... http log handler called before auth handler where userid set to ctx
func (ng *engine) bindRoute(fr featuredRoutes, router httpx.Router, metrics *stat.Metrics,
route Route, verifier func(chain.Chain) chain.Chain) error {
chn := ng.chain
if chn == nil {
chn = ng.buildChainWithNativeMiddlewares(fr, route, metrics) // <--- http log
}
chn = ng.appendAuthHandler(fr, chn, verifier) // <--- set userid to ctx
for _, middleware := range ng.middlewares {
chn = chn.Append(convertMiddleware(middleware)) // <-- read from ctx then set to log filed
}
handle := chn.ThenFunc(route.Handler)
return router.Handle(route.Method, route.Path, handle)
}
add log field with http middleware