This is an automated email from the ASF dual-hosted git repository.
neuman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git
The following commit(s) were added to refs/heads/master by this push:
new cfe87f7 Fix atscfg Service Category hdr to be internal (#5657)
cfe87f7 is described below
commit cfe87f72a661a92d44cef72e23bf5efa14b2c36c
Author: Robert O Butts <[email protected]>
AuthorDate: Fri Mar 19 11:18:42 2021 -0600
Fix atscfg Service Category hdr to be internal (#5657)
---
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 aab4bcc..e3ec676 100644
--- a/lib/go-atscfg/headerrewritedotconfig.go
+++ b/lib/go-atscfg/headerrewritedotconfig.go
@@ -36,7 +36,9 @@ const HeaderRewriteMidPrefix = "hdr_rw_mid_"
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 e3e5701..c7b7719 100644
--- a/lib/go-atscfg/meta.go
+++ b/lib/go-atscfg/meta.go
@@ -219,7 +219,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())
@@ -227,7 +227,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())
@@ -235,7 +235,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())
@@ -243,7 +243,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 {
@@ -251,7 +251,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 3e7a054..c22a2df 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)
}
@@ -323,7 +323,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)
}
@@ -419,13 +419,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