Bug/body missing onimport (#2048)

Co-authored-by: liyasthomas <liyascthomas@gmail.com>
This commit is contained in:
Anwarul Islam
2021-12-29 07:16:40 +06:00
committed by GitHub
parent 724e1e4c8f
commit 923c24e3bb
3 changed files with 65 additions and 20 deletions

View File

@@ -73,6 +73,7 @@ const parseCurlCommand = (curlCommand: string) => {
curlCommand = curlCommand.replace(/--request /, "-X ")
curlCommand = curlCommand.replace(/--header /, "-H ")
curlCommand = curlCommand.replace(/--url /, " ")
curlCommand = curlCommand.replace(/-d /, "--data ")
// yargs parses -XPOST as separate arguments. just prescreen for it.
curlCommand = curlCommand.replace(/ -XPOST/, " -X POST")
@@ -82,6 +83,12 @@ const parseCurlCommand = (curlCommand: string) => {
curlCommand = curlCommand.replace(/ -XDELETE/, " -X DELETE")
curlCommand = curlCommand.trim()
const parsedArguments = parser(curlCommand)
const rawData =
parsedArguments.data ||
parsedArguments.dataRaw ||
parsedArguments["data-raw"]
let cookieString
let cookies
let url = parsedArguments._[1]
@@ -187,6 +194,21 @@ const parseCurlCommand = (curlCommand: string) => {
method = "get"
}
let body = ""
if (rawData) {
try {
const tempBody = JSON.parse(rawData)
if (tempBody) {
body = JSON.stringify(tempBody, null, 2)
}
} catch (e) {
console.error(
"Error parsing JSON data. Please ensure that the data is valid JSON."
)
}
}
const compressed = !!parsedArguments.compressed
let urlObject = URL.parse(url) // eslint-disable-line
@@ -227,6 +249,7 @@ const parseCurlCommand = (curlCommand: string) => {
query,
headers,
method,
body,
cookies,
cookieString: cookieString?.replace("Cookie: ", ""),
multipartUploads,