You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficcontrol.apache.org by oc...@apache.org on 2021/03/19 18:01:56 UTC
[trafficcontrol] 08/08: Fix atscfg Service Category hdr to be
internal (#5657)
This is an automated email from the ASF dual-hosted git repository.
ocket8888 pushed a commit to branch 5.1.x
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
commit 932d31975add233aa330572ae94d18301a6ecc26
Author: Robert O Butts <ro...@users.noreply.github.com>
AuthorDate: Fri Mar 19 11:18:42 2021 -0600
Fix atscfg Service Category hdr to be internal (#5657)
(cherry picked from commit cfe87f72a661a92d44cef72e23bf5efa14b2c36c)
---
lib/go-atscfg/headerrewritedotconfig.go | 4 +++-
lib/go-atscfg/meta.go | 10 +++++-----
lib/go-atscfg/remapdotconfig.go | 10 +++++-----
3 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/lib/go-atscfg/headerrewritedotconfig.go b/lib/go-atscfg/headerrewritedotconfig.go
index a72d2b5..4d6a0ef 100644
--- a/lib/go-atscfg/headerrewritedotconfig.go
+++ b/lib/go-atscfg/headerrewritedotconfig.go
@@ -35,7 +35,9 @@ const HeaderRewritePrefix = "hdr_rw_"
const ContentTypeHeaderRewriteDotConfig = ContentTypeTextASCII
const LineCommentHeaderRewriteDotConfig = LineCommentHash
-const ServiceCategoryHeader = "CDN-SVC"
+// ServiceCategoryHeader is the internal service category header for logging the service category.
+// Note this is internal, and will never be set in an HTTP Request or Response by ATS.
+const ServiceCategoryHeader = "@CDN-SVC"
const MaxOriginConnectionsNoMax = 0 // 0 indicates no limit on origin connections
diff --git a/lib/go-atscfg/meta.go b/lib/go-atscfg/meta.go
index 88a20d8..8e74cc8 100644
--- a/lib/go-atscfg/meta.go
+++ b/lib/go-atscfg/meta.go
@@ -215,7 +215,7 @@ func addMetaObjConfigDir(
return nil, warnings, errors.New("getting topology placement: " + err.Error())
}
if placement.IsFirstCacheTier {
- if ds.FirstHeaderRewrite != nil && *ds.FirstHeaderRewrite != "" || ds.MaxOriginConnections != nil {
+ if (ds.FirstHeaderRewrite != nil && *ds.FirstHeaderRewrite != "") || ds.MaxOriginConnections != nil || ds.ServiceCategory != nil {
fileName := FirstHeaderRewriteConfigFileName(*ds.XMLID)
if configFilesM, err = ensureConfigFile(configFilesM, fileName, configDir); err != nil {
warnings = append(warnings, "ensuring config file '"+fileName+"': "+err.Error())
@@ -223,7 +223,7 @@ func addMetaObjConfigDir(
}
}
if placement.IsInnerCacheTier {
- if ds.InnerHeaderRewrite != nil && *ds.InnerHeaderRewrite != "" || ds.MaxOriginConnections != nil {
+ if (ds.InnerHeaderRewrite != nil && *ds.InnerHeaderRewrite != "") || ds.MaxOriginConnections != nil || ds.ServiceCategory != nil {
fileName := InnerHeaderRewriteConfigFileName(*ds.XMLID)
if configFilesM, err = ensureConfigFile(configFilesM, fileName, configDir); err != nil {
warnings = append(warnings, "ensuring config file '"+fileName+"': "+err.Error())
@@ -231,7 +231,7 @@ func addMetaObjConfigDir(
}
}
if placement.IsLastCacheTier {
- if ds.LastHeaderRewrite != nil && *ds.LastHeaderRewrite != "" || ds.MaxOriginConnections != nil {
+ if (ds.LastHeaderRewrite != nil && *ds.LastHeaderRewrite != "") || ds.MaxOriginConnections != nil || ds.ServiceCategory != nil {
fileName := LastHeaderRewriteConfigFileName(*ds.XMLID)
if configFilesM, err = ensureConfigFile(configFilesM, fileName, configDir); err != nil {
warnings = append(warnings, "ensuring config file '"+fileName+"': "+err.Error())
@@ -239,7 +239,7 @@ func addMetaObjConfigDir(
}
}
} else if strings.HasPrefix(server.Type, tc.EdgeTypePrefix) {
- if (ds.EdgeHeaderRewrite != nil || ds.MaxOriginConnections != nil) &&
+ if (ds.EdgeHeaderRewrite != nil || ds.MaxOriginConnections != nil || ds.ServiceCategory != nil) &&
strings.HasPrefix(server.Type, tc.EdgeTypePrefix) {
fileName := "hdr_rw_" + *ds.XMLID + ".config"
if configFilesM, err = ensureConfigFile(configFilesM, fileName, configDir); err != nil {
@@ -247,7 +247,7 @@ func addMetaObjConfigDir(
}
}
} else if strings.HasPrefix(server.Type, tc.MidTypePrefix) {
- if (ds.MidHeaderRewrite != nil || ds.MaxOriginConnections != nil) &&
+ if (ds.MidHeaderRewrite != nil || ds.MaxOriginConnections != nil || ds.ServiceCategory != nil) &&
ds.Type != nil && ds.Type.UsesMidCache() &&
strings.HasPrefix(server.Type, tc.MidTypePrefix) {
fileName := "hdr_rw_mid_" + *ds.XMLID + ".config"
diff --git a/lib/go-atscfg/remapdotconfig.go b/lib/go-atscfg/remapdotconfig.go
index 2ad3538..e5ca856 100644
--- a/lib/go-atscfg/remapdotconfig.go
+++ b/lib/go-atscfg/remapdotconfig.go
@@ -163,7 +163,7 @@ func getServerConfigRemapDotConfigForMid(
return "", warnings, err
}
midRemap += topoTxt
- } else if ds.MidHeaderRewrite != nil && *ds.MidHeaderRewrite != "" {
+ } else if (ds.MidHeaderRewrite != nil && *ds.MidHeaderRewrite != "") || ds.MaxOriginConnections != nil || ds.ServiceCategory != nil {
midRemap += ` @plugin=header_rewrite.so @pparam=` + midHeaderRewriteConfigFileName(*ds.XMLID)
}
@@ -332,7 +332,7 @@ func buildEdgeRemapLine(
return "", warnings, err
}
text += topoTxt
- } else if ds.EdgeHeaderRewrite != nil && *ds.EdgeHeaderRewrite != "" {
+ } else if (ds.EdgeHeaderRewrite != nil && *ds.EdgeHeaderRewrite != "") || ds.ServiceCategory != nil || ds.MaxOriginConnections != nil {
text += ` @plugin=header_rewrite.so @pparam=` + edgeHeaderRewriteConfigFileName(*ds.XMLID)
}
@@ -439,13 +439,13 @@ func makeDSTopologyHeaderRewriteTxt(ds DeliveryService, cg tc.CacheGroupName, to
}
txt := ""
const pluginTxt = ` @plugin=header_rewrite.so @pparam=`
- if placement.IsFirstCacheTier && ds.FirstHeaderRewrite != nil && *ds.FirstHeaderRewrite != "" {
+ if placement.IsFirstCacheTier && ((ds.FirstHeaderRewrite != nil && *ds.FirstHeaderRewrite != "") || ds.ServiceCategory != nil) {
txt += pluginTxt + FirstHeaderRewriteConfigFileName(*ds.XMLID) + ` `
}
- if placement.IsInnerCacheTier && ds.InnerHeaderRewrite != nil && *ds.InnerHeaderRewrite != "" {
+ if placement.IsInnerCacheTier && ((ds.InnerHeaderRewrite != nil && *ds.InnerHeaderRewrite != "") || ds.ServiceCategory != nil) {
txt += pluginTxt + InnerHeaderRewriteConfigFileName(*ds.XMLID) + ` `
}
- if placement.IsLastCacheTier && ds.LastHeaderRewrite != nil && *ds.LastHeaderRewrite != "" {
+ if placement.IsLastCacheTier && ((ds.LastHeaderRewrite != nil && *ds.LastHeaderRewrite != "") || ds.ServiceCategory != nil || ds.MaxOriginConnections != nil) {
txt += pluginTxt + LastHeaderRewriteConfigFileName(*ds.XMLID) + ` `
}
return txt, nil