Skip to content

Commit

Permalink
support to set the auth middleware
Browse files Browse the repository at this point in the history
  • Loading branch information
xgfone committed Oct 25, 2024
1 parent 0d2cc5d commit cff5974
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions http/router/ruler/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ func (r *Router) RouteBuilder() RouteBuilder {
type RouteBuilder struct {
register func(Route)

auth middleware.Middleware
mdws middleware.Middlewares
group string
route Route
Expand Down Expand Up @@ -94,6 +95,12 @@ func (b RouteBuilder) UseFunc(middlewares ...middleware.MiddlewareFunc) RouteBui
return b
}

// Auth resets the auth middleware and return the a new route builder.
func (b RouteBuilder) Auth(auth middleware.Middleware) RouteBuilder {
b.auth = auth
return b
}

// Clone clones itself and returns a new route builder.
func (b RouteBuilder) Clone() RouteBuilder {
b.others = slices.Clone(b.others)
Expand Down Expand Up @@ -240,6 +247,9 @@ func (b RouteBuilder) newRoute(handler http.Handler) (route Route) {

mdws := make(middleware.Middlewares, 0, len(b.mdws)+1)
mdws = append(mdws, b.mdws...)
if b.auth != nil {
mdws = append(mdws, b.auth)
}
if len(mdws) > 0 {
mdws.Sort()
route.Use(mdws...)
Expand Down

0 comments on commit cff5974

Please sign in to comment.