Skip to content

Commit 7116b06

Browse files
committed
Review feedback
1 parent e7da479 commit 7116b06

File tree

4 files changed

+88
-135
lines changed

4 files changed

+88
-135
lines changed

internal/mode/static/state/graph/grpcroute.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,11 +121,16 @@ func processGRPCRouteRules(
121121

122122
validFilters := len(filtersErrs) == 0
123123

124+
var convertedFilters []v1.HTTPRouteFilter
125+
if validFilters {
126+
convertedFilters = convertGRPCFilters(rule.Filters)
127+
}
128+
124129
rules[i] = RouteRule{
125130
ValidMatches: len(matchesErrs) == 0,
126131
ValidFilters: validFilters,
127132
Matches: convertGRPCMatches(rule.Matches),
128-
Filters: convertGRPCFilters(rule.Filters, validFilters),
133+
Filters: convertedFilters,
129134
RouteBackendRefs: backendRefs,
130135
}
131136
}
@@ -259,9 +264,10 @@ func validateGRPCFilter(
259264
}
260265
}
261266

262-
func convertGRPCFilters(filters []v1alpha2.GRPCRouteFilter, validFilters bool) []v1.HTTPRouteFilter {
263-
// validation has already been done, don't process the filters if they are invalid
264-
if !validFilters || len(filters) == 0 {
267+
// convertGRPCFilters converts GRPCRouteFilters (a subset of HTTPRouteFilter) to HTTPRouteFilters
268+
// so we can reuse the logic from HTTPRoute filter validation and processing
269+
func convertGRPCFilters(filters []v1alpha2.GRPCRouteFilter) []v1.HTTPRouteFilter {
270+
if len(filters) == 0 {
265271
return nil
266272
}
267273
httpFilters := make([]v1.HTTPRouteFilter, 0, len(filters))

internal/mode/static/state/graph/grpcroute_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -351,7 +351,7 @@ func TestBuildGRPCRoute(t *testing.T) {
351351
ValidFilters: true,
352352
Matches: convertGRPCMatches(grValidFilter.Spec.Rules[0].Matches),
353353
RouteBackendRefs: []RouteBackendRef{},
354-
Filters: convertGRPCFilters(grValidFilter.Spec.Rules[0].Filters, true),
354+
Filters: convertGRPCFilters(grValidFilter.Spec.Rules[0].Filters),
355355
},
356356
},
357357
},

internal/mode/static/state/graph/httproute.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -242,9 +242,9 @@ func validateFilter(
242242

243243
switch filter.Type {
244244
case v1.HTTPRouteFilterRequestRedirect:
245-
return validateFilterRedirect(validator, filter, filterPath)
245+
return validateFilterRedirect(validator, filter.RequestRedirect, filterPath)
246246
case v1.HTTPRouteFilterURLRewrite:
247-
return validateFilterRewrite(validator, filter, filterPath)
247+
return validateFilterRewrite(validator, filter.URLRewrite, filterPath)
248248
case v1.HTTPRouteFilterRequestHeaderModifier:
249249
return validateFilterHeaderModifier(validator, filter.RequestHeaderModifier, filterPath)
250250
default:
@@ -264,12 +264,11 @@ func validateFilter(
264264

265265
func validateFilterRedirect(
266266
validator validation.HTTPFieldsValidator,
267-
filter v1.HTTPRouteFilter,
267+
redirect *v1.HTTPRequestRedirectFilter,
268268
filterPath *field.Path,
269269
) field.ErrorList {
270270
var allErrs field.ErrorList
271271

272-
redirect := filter.RequestRedirect
273272
redirectPath := filterPath.Child("requestRedirect")
274273

275274
if redirect == nil {
@@ -314,12 +313,11 @@ func validateFilterRedirect(
314313

315314
func validateFilterRewrite(
316315
validator validation.HTTPFieldsValidator,
317-
filter v1.HTTPRouteFilter,
316+
rewrite *v1.HTTPURLRewriteFilter,
318317
filterPath *field.Path,
319318
) field.ErrorList {
320319
var allErrs field.ErrorList
321320

322-
rewrite := filter.URLRewrite
323321
rewritePath := filterPath.Child("urlRewrite")
324322

325323
if rewrite == nil {

0 commit comments

Comments
 (0)