23 lines
443 B
Go
23 lines
443 B
Go
package handler_router
|
|
|
|
import (
|
|
"github.com/go-telegram/bot"
|
|
"trle5.xyz/trbot/utils/handler_router/middleware"
|
|
)
|
|
|
|
type Router struct {
|
|
middleware []middleware.MiddlewareHandler
|
|
|
|
}
|
|
|
|
func (r *Router)Use(ms ...middleware.MiddlewareHandler) {
|
|
r.middleware = append(r.middleware, ms...)
|
|
}
|
|
|
|
func (r *Router)applyMiddlewares(h bot.HandlerFunc) bot.HandlerFunc {
|
|
for i := len(r.middleware) - 1; i >= 0; i-- {
|
|
r.middleware[i](h)
|
|
}
|
|
return h
|
|
}
|