refactor common code

This commit is contained in:
Caleb Doxsey 2024-11-18 09:23:00 -07:00
parent 24d6feb9fd
commit bf247186fb

View file

@ -40,16 +40,11 @@ func (b *Builder) buildMainInsecureListener(
li.ListenerFilters = append(li.ListenerFilters, ProxyProtocolFilter()) li.ListenerFilters = append(li.ListenerFilters, ProxyProtocolFilter())
} }
filter, err := b.buildMainHTTPConnectionManagerFilter(ctx, cfg, fullyStatic) filterChain, err := b.buildMainHTTPConnectionManagerFilterChain(ctx, cfg, fullyStatic, nil)
if err != nil { if err != nil {
return nil, err return nil, err
} }
li.FilterChains = append(li.FilterChains, filterChain)
li.FilterChains = []*envoy_config_listener_v3.FilterChain{{
Filters: []*envoy_config_listener_v3.Filter{
filter,
},
}}
return li, nil return li, nil
} }
@ -76,11 +71,6 @@ func (b *Builder) buildMainTLSListener(
// filter chains // filter chains
li.FilterChains = append(li.FilterChains, b.buildACMETLSALPNFilterChain()) li.FilterChains = append(li.FilterChains, b.buildACMETLSALPNFilterChain())
filter, err := b.buildMainHTTPConnectionManagerFilter(ctx, cfg, fullyStatic)
if err != nil {
return nil, err
}
allCertificates, err := getAllCertificates(cfg) allCertificates, err := getAllCertificates(cfg)
if err != nil { if err != nil {
return nil, err return nil, err
@ -91,14 +81,31 @@ func (b *Builder) buildMainTLSListener(
return nil, err return nil, err
} }
li.FilterChains = append(li.FilterChains, &envoy_config_listener_v3.FilterChain{ filterChain, err := b.buildMainHTTPConnectionManagerFilterChain(ctx, cfg, fullyStatic, newDownstreamTLSTransportSocket(tlsContext))
Filters: []*envoy_config_listener_v3.Filter{filter}, if err != nil {
TransportSocket: newDownstreamTLSTransportSocket(tlsContext), return nil, err
}) }
li.FilterChains = append(li.FilterChains, filterChain)
return li, nil return li, nil
} }
func (b *Builder) buildMainHTTPConnectionManagerFilterChain(
ctx context.Context,
cfg *config.Config,
fullyStatic bool,
transportSocket *envoy_config_core_v3.TransportSocket,
) (*envoy_config_listener_v3.FilterChain, error) {
filter, err := b.buildMainHTTPConnectionManagerFilter(ctx, cfg, fullyStatic)
if err != nil {
return nil, err
}
return &envoy_config_listener_v3.FilterChain{
Filters: []*envoy_config_listener_v3.Filter{filter},
TransportSocket: transportSocket,
}, nil
}
func (b *Builder) buildMainHTTPConnectionManagerFilter( func (b *Builder) buildMainHTTPConnectionManagerFilter(
ctx context.Context, ctx context.Context,
cfg *config.Config, cfg *config.Config,