@@ -21,16 +21,16 @@ Generated by GoLic, for more details see: https://github.com/AbsaOSS/golic
2121/* Adapters for Gateway API resources
2222This file contains adapters for Gateway API resources.
2323We need to fetch the ParentRefs and BackendRefs fields. However, different Gateway API resources exposed different types for their spec fields
24- RouteSpec and RouteRule interfaces are used to provide a common interface for the different Gateway API resources.
24+ RouteAdapter and RouteRule interfaces are used to provide a common interface for the different Gateway API resources.
2525*/
2626
2727import (
2828 gatewayapiv1 "sigs.k8s.io/gateway-api/apis/v1"
2929)
3030
31- // RouteSpec provides access to common route spec fields shared by all Gateway API's route resources (HTTPRoute, GRPCRoute, etc.)
32- type RouteSpec interface {
33- GetHostnames () []gatewayapiv1.Hostname
31+ // RouteAdapter provides access to common route spec fields shared by all Gateway API's route resources (HTTPRoute, GRPCRoute, etc.)
32+ type RouteAdapter interface {
33+ GetHostnames () ( []gatewayapiv1.Hostname , error )
3434 GetName () string
3535 GetNamespace () string
3636 GetParentRefs () []gatewayapiv1.ParentReference
@@ -41,97 +41,3 @@ type RouteSpec interface {
4141type RouteRule interface {
4242 GetBackendRefs () []gatewayapiv1.BackendRef
4343}
44-
45- // HTTPRouteAdapter adapts HTTPRoute to the RouteSpec interface
46- type HTTPRouteAdapter struct {
47- route * gatewayapiv1.HTTPRoute
48- }
49-
50- // NewHTTPRouteAdapter creates a new HTTPRoute adapter
51- func NewHTTPRouteAdapter (route * gatewayapiv1.HTTPRoute ) * HTTPRouteAdapter {
52- return & HTTPRouteAdapter {route : route }
53- }
54-
55- func (a * HTTPRouteAdapter ) GetHostnames () []gatewayapiv1.Hostname {
56- return a .route .Spec .Hostnames
57- }
58-
59- func (a * HTTPRouteAdapter ) GetParentRefs () []gatewayapiv1.ParentReference {
60- return a .route .Spec .ParentRefs
61- }
62-
63- func (a * HTTPRouteAdapter ) GetRules () []RouteRule {
64- rules := make ([]RouteRule , len (a .route .Spec .Rules ))
65- for i := range a .route .Spec .Rules {
66- rules [i ] = & HTTPRouteRuleAdapter {rule : & a .route .Spec .Rules [i ]}
67- }
68- return rules
69- }
70-
71- func (a * HTTPRouteAdapter ) GetName () string {
72- return a .route .Name
73- }
74-
75- func (a * HTTPRouteAdapter ) GetNamespace () string {
76- return a .route .Namespace
77- }
78-
79- // HTTPRouteRuleAdapter adapts HTTPRouteRule to the RouteRule interface
80- type HTTPRouteRuleAdapter struct {
81- rule * gatewayapiv1.HTTPRouteRule
82- }
83-
84- func (a * HTTPRouteRuleAdapter ) GetBackendRefs () []gatewayapiv1.BackendRef {
85- refs := make ([]gatewayapiv1.BackendRef , len (a .rule .BackendRefs ))
86- for i := range a .rule .BackendRefs {
87- refs [i ] = a .rule .BackendRefs [i ].BackendRef
88- }
89- return refs
90- }
91-
92- // GRPCRouteAdapter adapts GRPCRoute to the RouteSpec interface
93- type GRPCRouteAdapter struct {
94- route * gatewayapiv1.GRPCRoute
95- }
96-
97- // NewGRPCRouteAdapter creates a new GRPCRoute adapter
98- func NewGRPCRouteAdapter (route * gatewayapiv1.GRPCRoute ) * GRPCRouteAdapter {
99- return & GRPCRouteAdapter {route : route }
100- }
101-
102- func (a * GRPCRouteAdapter ) GetHostnames () []gatewayapiv1.Hostname {
103- return a .route .Spec .Hostnames
104- }
105-
106- func (a * GRPCRouteAdapter ) GetParentRefs () []gatewayapiv1.ParentReference {
107- return a .route .Spec .ParentRefs
108- }
109-
110- func (a * GRPCRouteAdapter ) GetRules () []RouteRule {
111- rules := make ([]RouteRule , len (a .route .Spec .Rules ))
112- for i := range a .route .Spec .Rules {
113- rules [i ] = & GRPCRouteRuleAdapter {rule : & a .route .Spec .Rules [i ]}
114- }
115- return rules
116- }
117-
118- func (a * GRPCRouteAdapter ) GetName () string {
119- return a .route .Name
120- }
121-
122- func (a * GRPCRouteAdapter ) GetNamespace () string {
123- return a .route .Namespace
124- }
125-
126- // GRPCRouteRuleAdapter adapts GRPCRouteRule to the RouteRule interface
127- type GRPCRouteRuleAdapter struct {
128- rule * gatewayapiv1.GRPCRouteRule
129- }
130-
131- func (a * GRPCRouteRuleAdapter ) GetBackendRefs () []gatewayapiv1.BackendRef {
132- refs := make ([]gatewayapiv1.BackendRef , len (a .rule .BackendRefs ))
133- for i := range a .rule .BackendRefs {
134- refs [i ] = a .rule .BackendRefs [i ].BackendRef
135- }
136- return refs
137- }
0 commit comments