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