Ver Fonte

修改中间件bug

yjp há 1 ano atrás
pai
commit
e398751d42
1 ficheiros alterados com 8 adições e 6 exclusões
  1. 8 6
      framework/gateway/builder.go

+ 8 - 6
framework/gateway/builder.go

@@ -460,11 +460,12 @@ func (builder *Builder) GetRouteWithUserIDCommon(relativePath string, userIDFiel
 func (builder *Builder) AddRoute(httpMethod string, relativePath string, handler Handler, middlewares ...Handler) {
 	apiHandlers := make([]api.Handler, len(middlewares)+1)
 
-	apiHandlers[0] = builder.formApiHandler(handler)
-	for i, middleware := range middlewares {
-		apiHandlers[i+1] = builder.formApiHandler(middleware)
+	for _, middleware := range middlewares {
+		apiHandlers = append(apiHandlers, builder.formApiHandler(middleware))
 	}
 
+	apiHandlers = append(apiHandlers, builder.formApiHandler(handler))
+
 	builder.router.AddRoute(httpMethod, relativePath, apiHandlers...)
 }
 
@@ -480,11 +481,12 @@ func (builder *Builder) AddRoute(httpMethod string, relativePath string, handler
 func (builder *Builder) AddRouteWithTenantIDAndUserID(httpMethod string, relativePath string, tenantIDField string, userIDField string, handler Handler, middlewares ...Handler) {
 	apiHandlers := make([]api.Handler, len(middlewares)+1)
 
-	apiHandlers[0] = builder.formApiHandlerWithTenantIDAndUserID(httpMethod, tenantIDField, userIDField, handler)
-	for i, middleware := range middlewares {
-		apiHandlers[i+1] = builder.formApiHandlerWithTenantIDAndUserID(httpMethod, tenantIDField, userIDField, middleware)
+	for _, middleware := range middlewares {
+		apiHandlers = append(apiHandlers, builder.formApiHandlerWithTenantIDAndUserID(httpMethod, tenantIDField, userIDField, middleware))
 	}
 
+	apiHandlers = append(apiHandlers, builder.formApiHandlerWithTenantIDAndUserID(httpMethod, tenantIDField, userIDField, handler))
+
 	builder.router.AddRoute(httpMethod, relativePath, apiHandlers...)
 }