fix: urlencoded fields are parsed for env variables. fixes #2094
This commit is contained in:
@@ -59,7 +59,7 @@ export const resolvesEnvsInBody = (
|
||||
|
||||
function getFinalBodyFromRequest(
|
||||
request: HoppRESTRequest,
|
||||
env: Environment
|
||||
envVariables: Environment["variables"]
|
||||
): FormData | string | null {
|
||||
if (request.body.contentType === null) {
|
||||
return null
|
||||
@@ -73,7 +73,13 @@ function getFinalBodyFromRequest(
|
||||
// Filter out active
|
||||
A.filter((x) => x.active),
|
||||
// Convert to tuple
|
||||
A.map(({ key, value }) => [key, value] as [string, string]),
|
||||
A.map(
|
||||
({ key, value }) =>
|
||||
[
|
||||
parseTemplateString(key, envVariables),
|
||||
parseTemplateString(value, envVariables),
|
||||
] as [string, string]
|
||||
),
|
||||
// Tuple to Record object
|
||||
tupleToRecord,
|
||||
// Stringify
|
||||
@@ -98,19 +104,19 @@ function getFinalBodyFromRequest(
|
||||
arrayFlatMap((x) =>
|
||||
x.isFile
|
||||
? x.value.map((v) => ({
|
||||
key: parseTemplateString(x.key, env.variables),
|
||||
key: parseTemplateString(x.key, envVariables),
|
||||
value: v as string | Blob,
|
||||
}))
|
||||
: [
|
||||
{
|
||||
key: parseTemplateString(x.key, env.variables),
|
||||
value: parseTemplateString(x.value, env.variables),
|
||||
key: parseTemplateString(x.key, envVariables),
|
||||
value: parseTemplateString(x.value, envVariables),
|
||||
},
|
||||
]
|
||||
),
|
||||
toFormData
|
||||
)
|
||||
} else return parseBodyEnvVariables(request.body.body, env.variables)
|
||||
} else return parseBodyEnvVariables(request.body.body, envVariables)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -194,7 +200,7 @@ export function getEffectiveRESTRequest(
|
||||
}
|
||||
}
|
||||
|
||||
const effectiveFinalBody = getFinalBodyFromRequest(request, environment)
|
||||
const effectiveFinalBody = getFinalBodyFromRequest(request, envVariables)
|
||||
if (request.body.contentType)
|
||||
effectiveFinalHeaders.push({
|
||||
active: true,
|
||||
|
||||
Reference in New Issue
Block a user