Add: Shell wget codegen (#1256)
* Add: Shell wget codegen * Add missing snapshot for tests
This commit is contained in:
committed by
GitHub
parent
1afd0381c1
commit
82c874afb5
@@ -861,3 +861,41 @@ exports[`generate request for cURL generate PUT request for www-form-urlencoded
|
|||||||
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \\\\
|
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \\\\
|
||||||
-d 'foo=bar&baz=qux'"
|
-d 'foo=bar&baz=qux'"
|
||||||
`;
|
`;
|
||||||
|
|
||||||
|
exports[`generate request for wget generate GET request 1`] = `
|
||||||
|
"wget -O - --method=GET \\\\
|
||||||
|
'https://httpbin.org/path/to?a=b' \\\\
|
||||||
|
--header='Authorization: Basic bW9ja1VzZXI6bW9ja1Bhc3N3b3Jk' \\\\
|
||||||
|
--header='h1: h1v' \\\\
|
||||||
|
--header='h2: h2v'"
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`generate request for wget generate POST request for JSON 1`] = `
|
||||||
|
"wget -O - --method=POST \\\\
|
||||||
|
'https://httpbin.org/path/to?a=b' \\\\
|
||||||
|
--header='Authorization: Bearer abcdefghijklmn' \\\\
|
||||||
|
--header='h1: h1v' \\\\
|
||||||
|
--header='h2: h2v' \\\\
|
||||||
|
--header='Content-Type: application/json; charset=utf-8' \\\\
|
||||||
|
--body-data='{\\"foo\\": \\"bar\\", \\"baz\\": \\"qux\\"}'"
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`generate request for wget generate POST request for XML 1`] = `
|
||||||
|
"wget -O - --method=POST \\\\
|
||||||
|
'https://httpbin.org/path/to?a=b' \\\\
|
||||||
|
--header='Authorization: Bearer abcdefghijklmn' \\\\
|
||||||
|
--header='h1: h1v' \\\\
|
||||||
|
--header='h2: h2v' \\\\
|
||||||
|
--header='Content-Type: application/xml; charset=utf-8' \\\\
|
||||||
|
--body-data='<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<xml>
|
||||||
|
<element foo=\\"bar\\"></element>
|
||||||
|
</xml>'"
|
||||||
|
`;
|
||||||
|
|
||||||
|
exports[`generate request for wget generate PUT request for www-form-urlencoded 1`] = `
|
||||||
|
"wget -O - --method=PUT \\\\
|
||||||
|
'https://httpbin.org/path/to?a=b' \\\\
|
||||||
|
--header='Content-Type: application/x-www-form-urlencoded; charset=utf-8' \\\\
|
||||||
|
--body-data='foo=bar&baz=qux'"
|
||||||
|
`;
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import { PowerShellRestMethod } from "./generators/powershell"
|
|||||||
import { PhpCurlCodegen } from "./generators/php-curl"
|
import { PhpCurlCodegen } from "./generators/php-curl"
|
||||||
import { PythonRequestsCodegen } from "./generators/python-requests"
|
import { PythonRequestsCodegen } from "./generators/python-requests"
|
||||||
import { PythonHttpClientCodegen } from "./generators/python-http-client"
|
import { PythonHttpClientCodegen } from "./generators/python-http-client"
|
||||||
|
import { WgetCodegen } from "./generators/wget"
|
||||||
|
|
||||||
/* Register code generators here.
|
/* Register code generators here.
|
||||||
* A code generator is defined as an object with the following structure.
|
* A code generator is defined as an object with the following structure.
|
||||||
@@ -32,6 +33,7 @@ export const codegens = [
|
|||||||
PowerShellRestMethod,
|
PowerShellRestMethod,
|
||||||
PythonRequestsCodegen,
|
PythonRequestsCodegen,
|
||||||
PythonHttpClientCodegen,
|
PythonHttpClientCodegen,
|
||||||
|
WgetCodegen,
|
||||||
]
|
]
|
||||||
|
|
||||||
export function generateCodeWithGenerator(codegenID, context) {
|
export function generateCodeWithGenerator(codegenID, context) {
|
||||||
|
|||||||
42
helpers/codegen/generators/wget.js
Normal file
42
helpers/codegen/generators/wget.js
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
export const WgetCodegen = {
|
||||||
|
id: "wget",
|
||||||
|
name: "wget",
|
||||||
|
generator: ({
|
||||||
|
url,
|
||||||
|
pathName,
|
||||||
|
queryString,
|
||||||
|
auth,
|
||||||
|
httpUser,
|
||||||
|
httpPassword,
|
||||||
|
bearerToken,
|
||||||
|
method,
|
||||||
|
rawInput,
|
||||||
|
rawParams,
|
||||||
|
rawRequestBody,
|
||||||
|
contentType,
|
||||||
|
headers,
|
||||||
|
}) => {
|
||||||
|
const requestString = []
|
||||||
|
requestString.push(`wget -O - --method=${method}`)
|
||||||
|
requestString.push(` '${url}${pathName}${queryString}'`)
|
||||||
|
if (auth === "Basic Auth") {
|
||||||
|
const basic = `${httpUser}:${httpPassword}`
|
||||||
|
requestString.push(
|
||||||
|
` --header='Authorization: Basic ${window.btoa(unescape(encodeURIComponent(basic)))}'`
|
||||||
|
)
|
||||||
|
} else if (auth === "Bearer Token" || auth === "OAuth 2.0") {
|
||||||
|
requestString.push(` --header='Authorization: Bearer ${bearerToken}'`)
|
||||||
|
}
|
||||||
|
if (headers) {
|
||||||
|
headers.forEach(({ key, value }) => {
|
||||||
|
if (key) requestString.push(` --header='${key}: ${value}'`)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
if (["POST", "PUT", "PATCH", "DELETE"].includes(method)) {
|
||||||
|
const requestBody = rawInput ? rawParams : rawRequestBody
|
||||||
|
requestString.push(` --header='Content-Type: ${contentType}; charset=utf-8'`)
|
||||||
|
requestString.push(` --body-data='${requestBody}'`)
|
||||||
|
}
|
||||||
|
return requestString.join(" \\\n")
|
||||||
|
},
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user