Skip to content

Commit aa84cac

Browse files
committed
fix: trying to solve a bug where the parent router doesn't pass its middlewares to its groups routers (part IV)
1 parent 3faab9e commit aa84cac

File tree

1 file changed

+4
-13
lines changed

1 file changed

+4
-13
lines changed

http/route/router.go

+4-13
Original file line numberDiff line numberDiff line change
@@ -169,28 +169,19 @@ func NewGroup(
169169
// Initialize the multiplexer
170170
mux := http.NewServeMux()
171171

172-
// Create the middlewares slice
173-
var allMiddlewares []func(http.Handler) http.Handler
174-
175-
// Append the base router middlewares
176-
allMiddlewares = append(allMiddlewares, *baseRouter.GetMiddlewares()...)
177-
178-
// Append the new middlewares
179-
allMiddlewares = append(allMiddlewares, middlewares...)
180-
181172
// Check if there is a nil middleware
182-
for i, middleware := range allMiddlewares {
173+
for i, middleware := range middlewares {
183174
if middleware == nil {
184175
return nil, fmt.Errorf(ErrNilMiddleware, fullPath, i)
185176
}
186177
}
187178

188179
// Chain the handlers
189-
firstHandler := ChainHandlers(mux, allMiddlewares...)
180+
firstHandler := ChainHandlers(mux, middlewares...)
190181

191182
// Create a new router
192183
instance := &Router{
193-
middlewares: allMiddlewares,
184+
middlewares: middlewares,
194185
firstHandler: firstHandler,
195186
mux: mux,
196187
logger: baseRouter.Logger(),
@@ -304,7 +295,7 @@ func (r *Router) RegisterHandler(pattern string, handler http.Handler) {
304295

305296
// RegisterGroup registers a new router group with a path and a router
306297
func (r *Router) RegisterGroup(router RouterWrapper) {
307-
r.RegisterHandler(router.Pattern(), router.Mux())
298+
r.RegisterHandler(router.Pattern(), router.Handler())
308299
}
309300

310301
// NewGroup creates a new router group with a path

0 commit comments

Comments
 (0)