fix: can't import curl command with data-urlencode (#3905)

Co-authored-by: Anwarul Islam <anwaarulislaam@gmail.com>
Co-authored-by: jamesgeorge007 <jamesgeorge998001@gmail.com>
This commit is contained in:
Dmitry
2024-03-25 14:42:48 +07:00
committed by GitHub
parent 6fd30f9aca
commit 1113c79e20
2 changed files with 53 additions and 1 deletions

View File

@@ -33,7 +33,27 @@ export const parseCurlCommand = (curlCommand: string) => {
// const compressed = !!parsedArguments.compressed
curlCommand = preProcessCurlCommand(curlCommand)
const parsedArguments = parser(curlCommand)
const args: parser.Arguments = parser(curlCommand)
const parsedArguments = pipe(
args,
O.fromPredicate(
(args) =>
objHasProperty("dataUrlencode", "string")(args) ||
objHasProperty("dataUrlencode", "object")(args)
),
O.map((args) => {
const urlEncodedData: string[] = Array.isArray(args.dataUrlencode)
? args.dataUrlencode
: [args.dataUrlencode]
const data = A.map(decodeURIComponent)(urlEncodedData)
return { ...args, d: data }
}),
O.getOrElse(() => args)
)
const headerObject = getHeaders(parsedArguments)
const { headers } = headerObject