feat: add track duplicate route names
This commit is contained in:
@@ -44,6 +44,13 @@ func (gatewayServer GatewayServer) Initialize() *mux.Router {
|
|||||||
}
|
}
|
||||||
dynamicRoutes = append(dynamicRoutes, extraRoutes...)
|
dynamicRoutes = append(dynamicRoutes, extraRoutes...)
|
||||||
}
|
}
|
||||||
|
//find duplicated route name
|
||||||
|
duplicates := findDuplicateRouteNames(dynamicRoutes)
|
||||||
|
if len(duplicates) != 0 {
|
||||||
|
for _, duplicate := range duplicates {
|
||||||
|
logger.Error("Duplicate route name found: %s ", duplicate)
|
||||||
|
}
|
||||||
|
}
|
||||||
m := gatewayServer.middlewares
|
m := gatewayServer.middlewares
|
||||||
redisBased := false
|
redisBased := false
|
||||||
if len(gateway.Redis.Addr) != 0 {
|
if len(gateway.Redis.Addr) != 0 {
|
||||||
|
|||||||
@@ -53,3 +53,18 @@ func loadExtraRoutes(routePath string) ([]Route, error) {
|
|||||||
}
|
}
|
||||||
return extraRoutes, nil
|
return extraRoutes, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func findDuplicateRouteNames(routes []Route) []string {
|
||||||
|
// Create a map to track occurrences of names
|
||||||
|
nameMap := make(map[string]int)
|
||||||
|
var duplicates []string
|
||||||
|
|
||||||
|
for _, route := range routes {
|
||||||
|
nameMap[route.Name]++
|
||||||
|
// If the count is ==2, it's a duplicate
|
||||||
|
if nameMap[route.Name] == 2 {
|
||||||
|
duplicates = append(duplicates, route.Name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return duplicates
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user