Skip to content

Commit f77143c

Browse files
committed
biump
1 parent 6611545 commit f77143c

2 files changed

Lines changed: 44 additions & 4 deletions

File tree

rust/src/http_access_logger.rs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,12 @@ mod tests {
187187
envoy_filter
188188
.expect_get_request_headers()
189189
.returning(|| vec![(EnvoyBuffer::new(b"host"), EnvoyBuffer::new(b"example.com"))]);
190-
envoy_filter
191-
.expect_get_response_headers()
192-
.returning(|| vec![(EnvoyBuffer::new(b"content-length"), EnvoyBuffer::new(b"123"))]);
190+
envoy_filter.expect_get_response_headers().returning(|| {
191+
vec![(
192+
EnvoyBuffer::new(b"content-length"),
193+
EnvoyBuffer::new(b"123"),
194+
)]
195+
});
193196
access_logger_filter.on_request_headers(&mut envoy_filter, false);
194197
access_logger_filter.on_response_headers(&mut envoy_filter, false);
195198

rust/src/lib.rs

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,14 @@ pub mod listener_ip_allowlist;
6060
pub mod listener_sni_router;
6161
pub mod listener_tls_detector;
6262

63-
declare_init_functions!(init, new_http_filter_config_fn);
63+
// DNS gateway filter examples.
64+
pub mod dns_gateway;
65+
66+
declare_all_init_functions!(init,
67+
http: new_http_filter_config_fn,
68+
network: new_network_filter_config_fn,
69+
udp_listener: new_udp_listener_filter_config_fn
70+
);
6471

6572
/// This implements the [`envoy_proxy_dynamic_modules_rust_sdk::ProgramInitFunction`].
6673
///
@@ -102,3 +109,33 @@ fn new_http_filter_config_fn<EC: EnvoyHttpFilterConfig, EHF: EnvoyHttpFilter>(
102109
_ => panic!("Unknown filter name: {filter_name}"),
103110
}
104111
}
112+
113+
fn new_network_filter_config_fn<EC: EnvoyNetworkFilterConfig, ENF: EnvoyNetworkFilter>(
114+
_envoy_filter_config: &mut EC,
115+
filter_name: &str,
116+
filter_config: &[u8],
117+
) -> Option<Box<dyn NetworkFilterConfig<ENF>>> {
118+
match filter_name {
119+
"cache_lookup" => Some(Box::new(
120+
dns_gateway::cache_lookup::CacheLookupFilterConfig::new(filter_config),
121+
)),
122+
_ => panic!("Unknown network filter name: {filter_name}"),
123+
}
124+
}
125+
126+
fn new_udp_listener_filter_config_fn<
127+
EC: EnvoyUdpListenerFilterConfig,
128+
ELF: EnvoyUdpListenerFilter,
129+
>(
130+
_envoy_filter_config: &mut EC,
131+
filter_name: &str,
132+
filter_config: &[u8],
133+
) -> Option<Box<dyn UdpListenerFilterConfig<ELF>>> {
134+
match filter_name {
135+
"dns_gateway" => {
136+
let config = dns_gateway::DnsGatewayFilterConfig::new(filter_config)?;
137+
Some(Box::new(config))
138+
}
139+
_ => panic!("Unknown UDP listener filter name: {filter_name}"),
140+
}
141+
}

0 commit comments

Comments
 (0)