9
9
"sigs.k8s.io/gateway-api/apis/v1alpha2"
10
10
11
11
ngfAPI "github.com/nginxinc/nginx-gateway-fabric/apis/v1alpha1"
12
+ "github.com/nginxinc/nginx-gateway-fabric/internal/framework/helpers"
12
13
"github.com/nginxinc/nginx-gateway-fabric/internal/framework/kinds"
13
14
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/policies"
14
15
"github.com/nginxinc/nginx-gateway-fabric/internal/mode/static/state/validation"
@@ -27,10 +28,7 @@ func NewValidator(genericValidator validation.GenericValidator) *Validator {
27
28
28
29
// Validate validates the spec of a ClientSettingsPolicy.
29
30
func (v * Validator ) Validate (policy policies.Policy ) error {
30
- csp , ok := policy .(* ngfAPI.ClientSettingsPolicy )
31
- if ! ok {
32
- panic (fmt .Sprintf ("expected ClientSettingsPolicy, got: %T" , policy ))
33
- }
31
+ csp := helpers.MustCastObject [* ngfAPI.ClientSettingsPolicy ](policy )
34
32
35
33
if err := validateTargetRef (csp .Spec .TargetRef ); err != nil {
36
34
return err
@@ -41,14 +39,10 @@ func (v *Validator) Validate(policy policies.Policy) error {
41
39
42
40
// Conflicts returns true if the two ClientSettingsPolicies conflict.
43
41
func (v * Validator ) Conflicts (polA , polB policies.Policy ) bool {
44
- a , okA := polA .(* ngfAPI.ClientSettingsPolicy )
45
- b , okB := polB .(* ngfAPI.ClientSettingsPolicy )
46
-
47
- if ! okA || ! okB {
48
- panic (fmt .Sprintf ("expected ClientSettingsPolicies, got: %T, %T" , polA , polB ))
49
- }
42
+ cspA := helpers.MustCastObject [* ngfAPI.ClientSettingsPolicy ](polA )
43
+ cspB := helpers.MustCastObject [* ngfAPI.ClientSettingsPolicy ](polB )
50
44
51
- return conflicts (a .Spec , b .Spec )
45
+ return conflicts (cspA .Spec , cspB .Spec )
52
46
}
53
47
54
48
func conflicts (a , b ngfAPI.ClientSettingsPolicySpec ) bool {
0 commit comments