(api *userconfig.API, virtualServices []istioclientnetworking.VirtualService)
| 183 | } |
| 184 | |
| 185 | func validateEndpointCollisions(api *userconfig.API, virtualServices []istioclientnetworking.VirtualService) error { |
| 186 | for i := range virtualServices { |
| 187 | virtualService := virtualServices[i] |
| 188 | gateways := k8s.ExtractVirtualServiceGateways(&virtualService) |
| 189 | if !gateways.Has("apis-gateway") { |
| 190 | continue |
| 191 | } |
| 192 | |
| 193 | endpoints := k8s.ExtractVirtualServiceEndpoints(&virtualService) |
| 194 | for endpoint := range endpoints { |
| 195 | if s.EnsureSuffix(endpoint, "/") == s.EnsureSuffix(*api.Networking.Endpoint, "/") && virtualService.Labels["apiName"] != api.Name { |
| 196 | return errors.Wrap(spec.ErrorDuplicateEndpoint(virtualService.Labels["apiName"]), userconfig.NetworkingKey, userconfig.EndpointKey, endpoint) |
| 197 | } |
| 198 | } |
| 199 | } |
| 200 | |
| 201 | return nil |
| 202 | } |
| 203 | |
| 204 | func findDuplicateEndpoints(apis []userconfig.API) []userconfig.API { |
| 205 | endpoints := make(map[string][]userconfig.API) |
no test coverage detected