@@ -18,6 +18,12 @@ import (
18
18
type ListenerContext struct {
19
19
Policy PolicyIR
20
20
}
21
+
22
+ type RouteConfigContext struct {
23
+ // No policy here, as you can't attach policies to route configs.
24
+ // we will call every policy with this to set defaults.
25
+ }
26
+
21
27
type VirtualHostContext struct {
22
28
Policy PolicyIR
23
29
}
@@ -57,6 +63,12 @@ type ProxyTranslationPass interface {
57
63
pCtx * HcmContext ,
58
64
out * envoy_hcm.HttpConnectionManager ) error
59
65
66
+ // called 1 time for all the routes in a filter chain.
67
+ ApplyRouteConfigPlugin (
68
+ ctx context.Context ,
69
+ pCtx * RouteConfigContext ,
70
+ out * envoy_config_route_v3.RouteConfiguration ,
71
+ )
60
72
ApplyVhostPlugin (
61
73
ctx context.Context ,
62
74
pCtx * VirtualHostContext ,
@@ -83,6 +95,39 @@ type ProxyTranslationPass interface {
83
95
ResourcesToAdd (ctx context.Context ) Resources
84
96
}
85
97
98
+ type UnimplementedProxyTranslationPass struct {}
99
+
100
+ var _ ProxyTranslationPass = UnimplementedProxyTranslationPass {}
101
+
102
+ func (s UnimplementedProxyTranslationPass ) ApplyListenerPlugin (ctx context.Context , pCtx * ListenerContext , out * envoy_config_listener_v3.Listener ) {
103
+ }
104
+ func (s UnimplementedProxyTranslationPass ) ApplyHCM (ctx context.Context , pCtx * HcmContext , out * envoy_hcm.HttpConnectionManager ) error {
105
+ return nil
106
+ }
107
+ func (s UnimplementedProxyTranslationPass ) ApplyRouteConfigPlugin (ctx context.Context , pCtx * RouteConfigContext , out * envoy_config_route_v3.RouteConfiguration ) {
108
+ }
109
+
110
+ func (s UnimplementedProxyTranslationPass ) ApplyVhostPlugin (ctx context.Context , pCtx * VirtualHostContext , out * envoy_config_route_v3.VirtualHost ) {
111
+ }
112
+ func (s UnimplementedProxyTranslationPass ) ApplyForRoute (ctx context.Context , pCtx * RouteContext , out * envoy_config_route_v3.Route ) error {
113
+ return nil
114
+ }
115
+ func (s UnimplementedProxyTranslationPass ) ApplyForRouteBackend (ctx context.Context , policy PolicyIR , pCtx * RouteBackendContext ) error {
116
+ return nil
117
+ }
118
+ func (s UnimplementedProxyTranslationPass ) HttpFilters (ctx context.Context , fc FilterChainCommon ) ([]plugins.StagedHttpFilter , error ) {
119
+ return nil , nil
120
+ }
121
+ func (s UnimplementedProxyTranslationPass ) UpstreamHttpFilters (ctx context.Context ) ([]plugins.StagedUpstreamHttpFilter , error ) {
122
+ return nil , nil
123
+ }
124
+ func (s UnimplementedProxyTranslationPass ) NetworkFilters (ctx context.Context ) ([]plugins.StagedNetworkFilter , error ) {
125
+ return nil , nil
126
+ }
127
+ func (s UnimplementedProxyTranslationPass ) ResourcesToAdd (ctx context.Context ) Resources {
128
+ return Resources {}
129
+ }
130
+
86
131
type Resources struct {
87
132
Clusters []envoy_config_cluster_v3.Cluster
88
133
}
0 commit comments