mw_trace.go 439 B

1234567891011121314151617181920
  1. package middleware
  2. import (
  3. "github.com/gogf/gf/net/ghttp"
  4. "gxt-file-server/pkg/gplus"
  5. "gxt-file-server/pkg/utils"
  6. )
  7. func TraceIdMiddleware(skippers ...SkipperFunc) ghttp.HandlerFunc {
  8. return func(r *ghttp.Request) {
  9. if len(skippers) > 0 && skippers[0](r) {
  10. r.Middleware.Next()
  11. return
  12. }
  13. if r.GetCtxVar(gplus.TraceIDKey).String() == "" {
  14. r.SetCtxVar(gplus.TraceIDKey, utils.NewTraceID())
  15. }
  16. r.Middleware.Next()
  17. }
  18. }