Skip to content

Commit 50689a2

Browse files
authored
Merge pull request #14 from hanshal101/bugfix/xds-decode-name-failure
fix(xds): handle decode error on name field of listener
2 parents 46c9cd6 + b267c43 commit 50689a2

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

orion-configuration/src/config/network_filters/http_connection_manager.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,8 @@ impl FromStr for RetryOn {
329329

330330
#[derive(Debug, Clone, Deserialize, Serialize, PartialEq, Eq)]
331331
pub struct Route {
332+
#[serde(skip_serializing_if = "is_default", default)]
333+
pub name: String,
332334
#[serde(skip_serializing_if = "is_default", default)]
333335
pub response_header_modifier: HeaderModifier,
334336
#[serde(skip_serializing_if = "Vec::is_empty", default = "Default::default")]
@@ -1074,7 +1076,6 @@ mod envoy_conversions {
10741076
action,
10751077
} = envoy;
10761078
unsupported_field!(
1077-
name,
10781079
// r#match,
10791080
metadata,
10801081
decorator,
@@ -1120,6 +1121,7 @@ mod envoy_conversions {
11201121
.with_node("typed_per_filter_config")?;
11211122
let response_header_modifier = HeaderModifier::new(response_headers_to_remove, response_headers_to_add);
11221123
Ok(Self {
1124+
name,
11231125
route_match,
11241126
action,
11251127
typed_per_filter_config,

orion-xds/src/xds/resources/mod.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
use std::net::SocketAddr;
2222

2323
use futures::Stream;
24+
use orion_data_plane_api::envoy_data_plane_api::envoy;
2425
use orion_data_plane_api::envoy_data_plane_api::{
2526
envoy::{
2627
config::{
@@ -326,6 +327,19 @@ pub fn create_listener(
326327
virtual_hosts: vec![virtual_host],
327328
..Default::default()
328329
})),
330+
http_filters: vec![envoy::extensions::filters::network::http_connection_manager::v3::HttpFilter {
331+
name: "envoy.filters.http.router".to_string(),
332+
config_type: Some(
333+
envoy::extensions::filters::network::http_connection_manager::v3::http_filter::ConfigType::TypedConfig(
334+
Any {
335+
type_url: "type.googleapis.com/envoy.extensions.filters.http.router.v3.Router".to_string(),
336+
value: vec![],
337+
},
338+
),
339+
),
340+
is_optional: false,
341+
disabled: false,
342+
}],
329343
..Default::default()
330344
};
331345

0 commit comments

Comments
 (0)