From fa31ac125f032b2cb7f256f2ccc4d29404884938 Mon Sep 17 00:00:00 2001 From: yoshino-s Date: Sat, 22 Jul 2023 11:10:07 +0000 Subject: [PATCH] feat: modify --- cmd/server.go | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/cmd/server.go b/cmd/server.go index 0dde461..b911989 100644 --- a/cmd/server.go +++ b/cmd/server.go @@ -86,23 +86,23 @@ var ( m := o.UnstructuredContent() spec := m["spec"].(map[string]interface{}) - resources := spec["resources"].([]interface{}) + resources := spec["resources"].([]map[string]interface{}) for _, res := range resources { - res := res.(map[string]interface{}) if res["@type"] == "type.googleapis.com/envoy.config.listener.v3.Listener" { - filterChains := res["filterChains"].(map[string]interface{}) - filters := filterChains["filters"].([]interface{}) - for _, filter := range filters { - filter := filter.(map[string]interface{}) - if filter["name"] == "envoy.filters.network.http_connection_manager" { - upgradeConfigs := filter["upgradeConfigs"].([]interface{}) - upgradeConfigs = append(upgradeConfigs, map[string]interface{}{ - "upgradeType": "websoctailscale-control-protocolket", - }) - filter["upgradeConfigs"] = upgradeConfigs - filter["useRemoteAddress"] = true - filter["xffNumTrustedHops"] = 1 + filterChains := res["filterChains"].([]map[string]interface{}) + for _, filterChain := range filterChains { + filters := filterChain["filters"].([]map[string]interface{}) + for _, filter := range filters { + if filter["name"] == "envoy.filters.network.http_connection_manager" { + upgradeConfigs := filter["upgradeConfigs"].([]interface{}) + upgradeConfigs = append(upgradeConfigs, map[string]interface{}{ + "upgradeType": "websoctailscale-control-protocolket", + }) + filter["upgradeConfigs"] = upgradeConfigs + filter["useRemoteAddress"] = true + filter["xffNumTrustedHops"] = 1 + } } } }