Skip to content

Commit 1ffaf80

Browse files
committed
use literal strings to prefix not illegal chars: @ + #
1 parent db476a3 commit 1ffaf80

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

internals/proxy/middlewares/template.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -108,15 +108,15 @@ func (data TemplateMiddleware) Use() http.Handler {
108108
})
109109
}
110110

111-
func normalizeData(prefix rune, data map[string]any) (map[string]any, error) {
111+
func normalizeData(prefix string, data map[string]any) (map[string]any, error) {
112112
jsonStr := jsonutils.ToJson(data)
113113

114114
if jsonStr != "" {
115115
toVar, err := templating.TransformTemplateKeys(jsonStr, prefix, func(re *regexp.Regexp, match string) string {
116116
return re.ReplaceAllStringFunc(match, func(varMatch string) string {
117117
varName := re.ReplaceAllString(varMatch, "$1")
118118

119-
return "." + string(prefix) + varName
119+
return "." + prefix + varName
120120
})
121121
})
122122

@@ -136,11 +136,11 @@ func normalizeData(prefix rune, data map[string]any) (map[string]any, error) {
136136
return data, nil
137137
}
138138

139-
func prefixData(prefix rune, data map[string]any) (map[string]any) {
139+
func prefixData(prefix string, data map[string]any) (map[string]any) {
140140
res := map[string]any{}
141141

142142
for key, value := range data {
143-
res[string(prefix) + key] = value
143+
res[prefix + key] = value
144144
}
145145

146146
return res
@@ -149,26 +149,26 @@ func prefixData(prefix rune, data map[string]any) (map[string]any) {
149149
func TemplateBody(bodyData map[string]any, headerData map[string]any, VARIABLES map[string]any) (map[string]any, bool, error) {
150150
var modified bool
151151

152-
// Normalize #Var and @Var to .#Var and .@Var
153-
bodyData, err := normalizeData('@', bodyData)
152+
// Normalize #Var and @Var to .HEADER_KEY_Var and .BODY_KEY_Var
153+
bodyData, err := normalizeData("BODY_KEY_", bodyData)
154154

155155
log.Dev("Normalized:\n", jsonutils.ToJson(bodyData))
156156

157157
if err != nil {
158158
return bodyData, false, err
159159
}
160160

161-
headerData, err = normalizeData('#', headerData)
161+
headerData, err = normalizeData("HEADER_KEY_", headerData)
162162

163163
if err != nil {
164164
return bodyData, false, err
165165
}
166166

167167
// Prefix Body Data with @
168-
bodyData = prefixData('@', bodyData)
168+
bodyData = prefixData("BODY_KEY_", bodyData)
169169

170170
// Prefix Header Data with #
171-
headerData = prefixData('#', headerData)
171+
headerData = prefixData("HEADER_KEY_", headerData)
172172

173173
variables := VARIABLES
174174

0 commit comments

Comments
 (0)