package middleware import ( "context" "fmt" ) func Validate() Middleware { return func(handler Handler) Handler { return func(ctx context.Context, a any) (any, error) { fmt.Println("validate") fmt.Println(ctx.Value("user-id")) if r, ok := a.(interface { Validate() error }); ok { if err := r.Validate(); err != nil { return nil, err } } return handler(ctx, a) } } }