in pkg/controllers/eventhandlers/mapper.go [161:196]
func (r *resourceMapper) backendRefToRoutes(ctx context.Context, obj client.Object, group, kind string, routeType core.RouteType) []core.Route {
if obj == nil {
return nil
}
var routes []core.Route
switch routeType {
case core.HttpRouteType:
routeList := &gwv1.HTTPRouteList{}
r.client.List(ctx, routeList)
for _, k8sRoute := range routeList.Items {
routes = append(routes, core.NewHTTPRoute(k8sRoute))
}
case core.GrpcRouteType:
routeList := &gwv1.GRPCRouteList{}
r.client.List(ctx, routeList)
for _, k8sRoute := range routeList.Items {
routes = append(routes, core.NewGRPCRoute(k8sRoute))
}
case core.TlsRouteType:
routeList := &gwv1alpha2.TLSRouteList{}
r.client.List(ctx, routeList)
for _, k8sRoute := range routeList.Items {
routes = append(routes, core.NewTLSRoute(k8sRoute))
}
default:
return nil
}
var filteredRoutes []core.Route
for _, route := range routes {
if r.isBackendRefUsedByRoute(route, obj, group, kind) {
filteredRoutes = append(filteredRoutes, route)
}
}
return filteredRoutes
}