@ohos-ports/curlconverter 4.12.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +153 -0
- package/dist/src/Headers.d.ts +23 -0
- package/dist/src/Headers.js +287 -0
- package/dist/src/Headers.js.map +1 -0
- package/dist/src/Query.d.ts +8 -0
- package/dist/src/Query.js +136 -0
- package/dist/src/Query.js.map +1 -0
- package/dist/src/Request.d.ts +200 -0
- package/dist/src/Request.js +1191 -0
- package/dist/src/Request.js.map +1 -0
- package/dist/src/Warnings.d.ts +15 -0
- package/dist/src/Warnings.js +111 -0
- package/dist/src/Warnings.js.map +1 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.js +333 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/curl/auth.d.ts +12 -0
- package/dist/src/curl/auth.js +40 -0
- package/dist/src/curl/auth.js.map +1 -0
- package/dist/src/curl/form.d.ts +28 -0
- package/dist/src/curl/form.js +218 -0
- package/dist/src/curl/form.js.map +1 -0
- package/dist/src/curl/opts.d.ts +2052 -0
- package/dist/src/curl/opts.js +1000 -0
- package/dist/src/curl/opts.js.map +1 -0
- package/dist/src/curl/url.d.ts +14 -0
- package/dist/src/curl/url.js +218 -0
- package/dist/src/curl/url.js.map +1 -0
- package/dist/src/generators/ansible.d.ts +5 -0
- package/dist/src/generators/ansible.js +282 -0
- package/dist/src/generators/ansible.js.map +1 -0
- package/dist/src/generators/c.d.ts +12 -0
- package/dist/src/generators/c.js +1230 -0
- package/dist/src/generators/c.js.map +1 -0
- package/dist/src/generators/cfml.d.ts +5 -0
- package/dist/src/generators/cfml.js +134 -0
- package/dist/src/generators/cfml.js.map +1 -0
- package/dist/src/generators/clojure.d.ts +7 -0
- package/dist/src/generators/clojure.js +436 -0
- package/dist/src/generators/clojure.js.map +1 -0
- package/dist/src/generators/csharp.d.ts +8 -0
- package/dist/src/generators/csharp.js +356 -0
- package/dist/src/generators/csharp.js.map +1 -0
- package/dist/src/generators/dart.d.ts +5 -0
- package/dist/src/generators/dart.js +273 -0
- package/dist/src/generators/dart.js.map +1 -0
- package/dist/src/generators/elixir.d.ts +8 -0
- package/dist/src/generators/elixir.js +296 -0
- package/dist/src/generators/elixir.js.map +1 -0
- package/dist/src/generators/go.d.ts +5 -0
- package/dist/src/generators/go.js +228 -0
- package/dist/src/generators/go.js.map +1 -0
- package/dist/src/generators/har.d.ts +7 -0
- package/dist/src/generators/har.js +115 -0
- package/dist/src/generators/har.js.map +1 -0
- package/dist/src/generators/http.d.ts +7 -0
- package/dist/src/generators/http.js +165 -0
- package/dist/src/generators/http.js.map +1 -0
- package/dist/src/generators/httpie.d.ts +5 -0
- package/dist/src/generators/httpie.js +446 -0
- package/dist/src/generators/httpie.js.map +1 -0
- package/dist/src/generators/java/httpurlconnection.d.ts +5 -0
- package/dist/src/generators/java/httpurlconnection.js +123 -0
- package/dist/src/generators/java/httpurlconnection.js.map +1 -0
- package/dist/src/generators/java/java.d.ts +8 -0
- package/dist/src/generators/java/java.js +247 -0
- package/dist/src/generators/java/java.js.map +1 -0
- package/dist/src/generators/java/jsoup.d.ts +5 -0
- package/dist/src/generators/java/jsoup.js +152 -0
- package/dist/src/generators/java/jsoup.js.map +1 -0
- package/dist/src/generators/java/okhttp.d.ts +5 -0
- package/dist/src/generators/java/okhttp.js +232 -0
- package/dist/src/generators/java/okhttp.js.map +1 -0
- package/dist/src/generators/javascript/axios.d.ts +5 -0
- package/dist/src/generators/javascript/axios.js +332 -0
- package/dist/src/generators/javascript/axios.js.map +1 -0
- package/dist/src/generators/javascript/got.d.ts +5 -0
- package/dist/src/generators/javascript/got.js +277 -0
- package/dist/src/generators/javascript/got.js.map +1 -0
- package/dist/src/generators/javascript/http.d.ts +8 -0
- package/dist/src/generators/javascript/http.js +183 -0
- package/dist/src/generators/javascript/http.js.map +1 -0
- package/dist/src/generators/javascript/javascript.d.ts +37 -0
- package/dist/src/generators/javascript/javascript.js +676 -0
- package/dist/src/generators/javascript/javascript.js.map +1 -0
- package/dist/src/generators/javascript/jquery.d.ts +15 -0
- package/dist/src/generators/javascript/jquery.js +297 -0
- package/dist/src/generators/javascript/jquery.js.map +1 -0
- package/dist/src/generators/javascript/ky.d.ts +7 -0
- package/dist/src/generators/javascript/ky.js +245 -0
- package/dist/src/generators/javascript/ky.js.map +1 -0
- package/dist/src/generators/javascript/request.d.ts +5 -0
- package/dist/src/generators/javascript/request.js +113 -0
- package/dist/src/generators/javascript/request.js.map +1 -0
- package/dist/src/generators/javascript/superagent.d.ts +10 -0
- package/dist/src/generators/javascript/superagent.js +301 -0
- package/dist/src/generators/javascript/superagent.js.map +1 -0
- package/dist/src/generators/javascript/xhr.d.ts +8 -0
- package/dist/src/generators/javascript/xhr.js +147 -0
- package/dist/src/generators/javascript/xhr.js.map +1 -0
- package/dist/src/generators/json.d.ts +45 -0
- package/dist/src/generators/json.js +197 -0
- package/dist/src/generators/json.js.map +1 -0
- package/dist/src/generators/julia.d.ts +8 -0
- package/dist/src/generators/julia.js +365 -0
- package/dist/src/generators/julia.js.map +1 -0
- package/dist/src/generators/kotlin.d.ts +8 -0
- package/dist/src/generators/kotlin.js +325 -0
- package/dist/src/generators/kotlin.js.map +1 -0
- package/dist/src/generators/lua.d.ts +5 -0
- package/dist/src/generators/lua.js +192 -0
- package/dist/src/generators/lua.js.map +1 -0
- package/dist/src/generators/matlab/common.d.ts +16 -0
- package/dist/src/generators/matlab/common.js +238 -0
- package/dist/src/generators/matlab/common.js.map +1 -0
- package/dist/src/generators/matlab/httpinterface.d.ts +2 -0
- package/dist/src/generators/matlab/httpinterface.js +211 -0
- package/dist/src/generators/matlab/httpinterface.js.map +1 -0
- package/dist/src/generators/matlab/matlab.d.ts +5 -0
- package/dist/src/generators/matlab/matlab.js +29 -0
- package/dist/src/generators/matlab/matlab.js.map +1 -0
- package/dist/src/generators/matlab/webservices.d.ts +2 -0
- package/dist/src/generators/matlab/webservices.js +191 -0
- package/dist/src/generators/matlab/webservices.js.map +1 -0
- package/dist/src/generators/objectivec.d.ts +8 -0
- package/dist/src/generators/objectivec.js +269 -0
- package/dist/src/generators/objectivec.js.map +1 -0
- package/dist/src/generators/ocaml.d.ts +8 -0
- package/dist/src/generators/ocaml.js +150 -0
- package/dist/src/generators/ocaml.js.map +1 -0
- package/dist/src/generators/perl.d.ts +9 -0
- package/dist/src/generators/perl.js +209 -0
- package/dist/src/generators/perl.js.map +1 -0
- package/dist/src/generators/php/guzzle.d.ts +5 -0
- package/dist/src/generators/php/guzzle.js +328 -0
- package/dist/src/generators/php/guzzle.js.map +1 -0
- package/dist/src/generators/php/php.d.ts +8 -0
- package/dist/src/generators/php/php.js +217 -0
- package/dist/src/generators/php/php.js.map +1 -0
- package/dist/src/generators/php/requests.d.ts +5 -0
- package/dist/src/generators/php/requests.js +89 -0
- package/dist/src/generators/php/requests.js.map +1 -0
- package/dist/src/generators/powershell.d.ts +11 -0
- package/dist/src/generators/powershell.js +377 -0
- package/dist/src/generators/powershell.js.map +1 -0
- package/dist/src/generators/python/http.d.ts +5 -0
- package/dist/src/generators/python/http.js +128 -0
- package/dist/src/generators/python/http.js.map +1 -0
- package/dist/src/generators/python/python.d.ts +22 -0
- package/dist/src/generators/python/python.js +1693 -0
- package/dist/src/generators/python/python.js.map +1 -0
- package/dist/src/generators/r/httr.d.ts +10 -0
- package/dist/src/generators/r/httr.js +298 -0
- package/dist/src/generators/r/httr.js.map +1 -0
- package/dist/src/generators/r/httr2.d.ts +5 -0
- package/dist/src/generators/r/httr2.js +214 -0
- package/dist/src/generators/r/httr2.js.map +1 -0
- package/dist/src/generators/ruby/httparty.d.ts +6 -0
- package/dist/src/generators/ruby/httparty.js +308 -0
- package/dist/src/generators/ruby/httparty.js.map +1 -0
- package/dist/src/generators/ruby/ruby.d.ts +14 -0
- package/dist/src/generators/ruby/ruby.js +515 -0
- package/dist/src/generators/ruby/ruby.js.map +1 -0
- package/dist/src/generators/rust.d.ts +8 -0
- package/dist/src/generators/rust.js +177 -0
- package/dist/src/generators/rust.js.map +1 -0
- package/dist/src/generators/swift.d.ts +8 -0
- package/dist/src/generators/swift.js +219 -0
- package/dist/src/generators/swift.js.map +1 -0
- package/dist/src/generators/wget.d.ts +8 -0
- package/dist/src/generators/wget.js +472 -0
- package/dist/src/generators/wget.js.map +1 -0
- package/dist/src/index.d.ts +53 -0
- package/dist/src/index.js +54 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/parse.d.ts +13 -0
- package/dist/src/parse.js +43 -0
- package/dist/src/parse.js.map +1 -0
- package/dist/src/shell/Parser.d.ts +4 -0
- package/dist/src/shell/Parser.js +6 -0
- package/dist/src/shell/Parser.js.map +1 -0
- package/dist/src/shell/Word.d.ts +48 -0
- package/dist/src/shell/Word.js +486 -0
- package/dist/src/shell/Word.js.map +1 -0
- package/dist/src/shell/tokenizer.d.ts +3 -0
- package/dist/src/shell/tokenizer.js +610 -0
- package/dist/src/shell/tokenizer.js.map +1 -0
- package/dist/src/shell/webParser.d.ts +4 -0
- package/dist/src/shell/webParser.js +15 -0
- package/dist/src/shell/webParser.js.map +1 -0
- package/dist/src/utils.d.ts +6 -0
- package/dist/src/utils.js +21 -0
- package/dist/src/utils.js.map +1 -0
- package/dist/tools/compare-requests.d.ts +2 -0
- package/dist/tools/compare-requests.js +448 -0
- package/dist/tools/compare-requests.js.map +1 -0
- package/dist/tools/gen-test.d.ts +2 -0
- package/dist/tools/gen-test.js +114 -0
- package/dist/tools/gen-test.js.map +1 -0
- package/dist/tree-sitter-bash.wasm +0 -0
- package/index.d.ts +3 -0
- package/package.json +97 -0
- package/src/Headers.ts +334 -0
- package/src/Query.ts +147 -0
- package/src/Request.ts +1649 -0
- package/src/Warnings.ts +154 -0
- package/src/cli.ts +561 -0
- package/src/curl/auth.ts +45 -0
- package/src/curl/form.ts +297 -0
- package/src/curl/opts.ts +1417 -0
- package/src/curl/url.ts +241 -0
- package/src/generators/ansible.ts +364 -0
- package/src/generators/c.ts +1371 -0
- package/src/generators/cfml.ts +155 -0
- package/src/generators/clojure.ts +521 -0
- package/src/generators/csharp.ts +383 -0
- package/src/generators/dart.ts +293 -0
- package/src/generators/elixir.ts +349 -0
- package/src/generators/go.ts +269 -0
- package/src/generators/har.ts +147 -0
- package/src/generators/http.ts +194 -0
- package/src/generators/httpie.ts +506 -0
- package/src/generators/java/httpurlconnection.ts +151 -0
- package/src/generators/java/java.ts +280 -0
- package/src/generators/java/jsoup.ts +172 -0
- package/src/generators/java/okhttp.ts +257 -0
- package/src/generators/javascript/axios.ts +395 -0
- package/src/generators/javascript/got.ts +362 -0
- package/src/generators/javascript/http.ts +232 -0
- package/src/generators/javascript/javascript.ts +825 -0
- package/src/generators/javascript/jquery.ts +360 -0
- package/src/generators/javascript/ky.ts +315 -0
- package/src/generators/javascript/request.ts +152 -0
- package/src/generators/javascript/superagent.ts +373 -0
- package/src/generators/javascript/xhr.ts +192 -0
- package/src/generators/json.ts +293 -0
- package/src/generators/julia.ts +398 -0
- package/src/generators/kotlin.ts +355 -0
- package/src/generators/lua.ts +209 -0
- package/src/generators/matlab/common.ts +281 -0
- package/src/generators/matlab/httpinterface.ts +284 -0
- package/src/generators/matlab/matlab.ts +39 -0
- package/src/generators/matlab/webservices.ts +263 -0
- package/src/generators/objectivec.ts +297 -0
- package/src/generators/ocaml.ts +168 -0
- package/src/generators/perl.ts +237 -0
- package/src/generators/php/guzzle.ts +368 -0
- package/src/generators/php/php.ts +239 -0
- package/src/generators/php/requests.ts +103 -0
- package/src/generators/powershell.ts +430 -0
- package/src/generators/python/http.ts +167 -0
- package/src/generators/python/python.ts +1934 -0
- package/src/generators/r/httr.ts +328 -0
- package/src/generators/r/httr2.ts +268 -0
- package/src/generators/ruby/httparty.ts +351 -0
- package/src/generators/ruby/ruby.ts +564 -0
- package/src/generators/rust.ts +243 -0
- package/src/generators/swift.ts +235 -0
- package/src/generators/wget.ts +533 -0
- package/src/index.ts +89 -0
- package/src/parse.ts +72 -0
- package/src/shell/Parser.ts +8 -0
- package/src/shell/Word.ts +531 -0
- package/src/shell/tokenizer.ts +736 -0
- package/src/shell/webParser.ts +18 -0
- package/src/utils.ts +25 -0
- package/tools/compare-requests.ts +571 -0
- package/tools/extract_curl_args.py +511 -0
- package/tools/gen-test.ts +129 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
import { Word, eq } from "../shell/Word.js";
|
|
2
|
+
import { parse, getFirst, COMMON_SUPPORTED_ARGS } from "../parse.js";
|
|
3
|
+
import { parseQueryString } from "../Query.js";
|
|
4
|
+
import { esc as jsesc } from "./javascript/javascript.js";
|
|
5
|
+
export const supportedArgs = new Set([
|
|
6
|
+
...COMMON_SUPPORTED_ARGS,
|
|
7
|
+
"compressed",
|
|
8
|
+
"form",
|
|
9
|
+
"form-string",
|
|
10
|
+
"no-compressed",
|
|
11
|
+
]);
|
|
12
|
+
function escape(value, quote) {
|
|
13
|
+
// Escape Dart's $string interpolation syntax
|
|
14
|
+
// TODO: does Dart have the same escape sequences as JS?
|
|
15
|
+
return jsesc(value, quote).replace(/\$/g, "\\$");
|
|
16
|
+
}
|
|
17
|
+
function reprStr(value) {
|
|
18
|
+
const quote = value.includes("'") && !value.includes('"') ? '"' : "'";
|
|
19
|
+
return quote + escape(value, quote) + quote;
|
|
20
|
+
}
|
|
21
|
+
function repr(value, imports) {
|
|
22
|
+
const ret = [];
|
|
23
|
+
for (const t of value.tokens) {
|
|
24
|
+
if (typeof t === "string") {
|
|
25
|
+
ret.push(reprStr(t));
|
|
26
|
+
}
|
|
27
|
+
else if (t.type === "variable") {
|
|
28
|
+
ret.push("(Platform.environment[" + reprStr(t.value) + "] ?? '')");
|
|
29
|
+
imports.add("dart:io");
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
ret.push("(await Process.run(" +
|
|
33
|
+
reprStr(t.value) +
|
|
34
|
+
", runInShell: true)).stdout");
|
|
35
|
+
imports.add("dart:io");
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return ret.join(" + ");
|
|
39
|
+
}
|
|
40
|
+
function reprWords(value, imports) {
|
|
41
|
+
if (value instanceof Word)
|
|
42
|
+
return repr(value, imports);
|
|
43
|
+
const ret = [];
|
|
44
|
+
for (const v of value) {
|
|
45
|
+
ret.push(repr(v, imports));
|
|
46
|
+
}
|
|
47
|
+
return "[" + ret.join(", ") + "]";
|
|
48
|
+
}
|
|
49
|
+
export function _toDart(requests, warnings = []) {
|
|
50
|
+
const request = getFirst(requests, warnings);
|
|
51
|
+
const imports = new Set();
|
|
52
|
+
if (request.urls[0].auth || request.isDataBinary)
|
|
53
|
+
imports.add("dart:convert");
|
|
54
|
+
let s = "void main() async {\n";
|
|
55
|
+
if (request.urls[0].auth) {
|
|
56
|
+
const [uname, pword] = request.urls[0].auth;
|
|
57
|
+
s +=
|
|
58
|
+
" final uname = " +
|
|
59
|
+
repr(uname, imports) +
|
|
60
|
+
";\n" +
|
|
61
|
+
" final pword = " +
|
|
62
|
+
repr(pword, imports) +
|
|
63
|
+
";\n" +
|
|
64
|
+
" final authn = 'Basic ${base64Encode(utf8.encode('$uname:$pword'))}';\n" +
|
|
65
|
+
"\n";
|
|
66
|
+
}
|
|
67
|
+
const methods = ["HEAD", "GET", "POST", "PUT", "PATCH", "DELETE"];
|
|
68
|
+
const rawRequestObj = request.multipartUploads ||
|
|
69
|
+
!methods.includes(request.urls[0].method.toString());
|
|
70
|
+
const hasHeaders = request.headers.length ||
|
|
71
|
+
request.compressed ||
|
|
72
|
+
request.isDataBinary ||
|
|
73
|
+
request.urls[0].method.toLowerCase().toString() === "put";
|
|
74
|
+
if (hasHeaders && !rawRequestObj) {
|
|
75
|
+
s += " final headers = {\n";
|
|
76
|
+
for (const [hname, hval] of request.headers) {
|
|
77
|
+
s +=
|
|
78
|
+
" " +
|
|
79
|
+
repr(hname, imports) +
|
|
80
|
+
": " +
|
|
81
|
+
repr(hval !== null && hval !== void 0 ? hval : new Word(), imports) +
|
|
82
|
+
",\n";
|
|
83
|
+
}
|
|
84
|
+
if (request.urls[0].auth)
|
|
85
|
+
s += " 'Authorization': authn,\n";
|
|
86
|
+
// TODO: headers might already have Accept-Encoding
|
|
87
|
+
if (request.compressed)
|
|
88
|
+
s += " 'Accept-Encoding': 'gzip',\n";
|
|
89
|
+
s += " };\n";
|
|
90
|
+
s += "\n";
|
|
91
|
+
}
|
|
92
|
+
if (request.urls[0].queryDict) {
|
|
93
|
+
s += " final params = {\n";
|
|
94
|
+
for (const [paramName, rawValue] of request.urls[0].queryDict) {
|
|
95
|
+
s +=
|
|
96
|
+
" " +
|
|
97
|
+
repr(paramName, imports) +
|
|
98
|
+
": " +
|
|
99
|
+
reprWords(rawValue, imports) +
|
|
100
|
+
",\n";
|
|
101
|
+
}
|
|
102
|
+
s += " };\n";
|
|
103
|
+
s += "\n";
|
|
104
|
+
}
|
|
105
|
+
const hasData = request.data && !request.multipartUploads;
|
|
106
|
+
if (hasData && request.data) {
|
|
107
|
+
const [parsedQuery] = parseQueryString(request.data);
|
|
108
|
+
if (parsedQuery && parsedQuery.length) {
|
|
109
|
+
s += " final data = {\n";
|
|
110
|
+
for (const param of parsedQuery) {
|
|
111
|
+
const [key, val] = param;
|
|
112
|
+
s += " " + repr(key, imports) + ": " + repr(val, imports) + ",\n";
|
|
113
|
+
}
|
|
114
|
+
s += " };\n";
|
|
115
|
+
s += "\n";
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
s += ` final data = ${repr(request.data, imports)};\n\n`;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (request.urls[0].queryDict) {
|
|
122
|
+
const urlString = repr(request.urls[0].urlWithoutQueryList, imports);
|
|
123
|
+
s +=
|
|
124
|
+
" final url = Uri.parse(" +
|
|
125
|
+
urlString +
|
|
126
|
+
")\n" +
|
|
127
|
+
" .replace(queryParameters: params);\n";
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
s +=
|
|
131
|
+
" final url = Uri.parse(" + repr(request.urls[0].url, imports) + ");\n";
|
|
132
|
+
}
|
|
133
|
+
s += "\n";
|
|
134
|
+
if (rawRequestObj) {
|
|
135
|
+
let multipart = "http.";
|
|
136
|
+
if (request.multipartUploads) {
|
|
137
|
+
multipart += "MultipartRequest";
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
multipart += "Request";
|
|
141
|
+
}
|
|
142
|
+
multipart += "(" + repr(request.urls[0].method, imports) + ", url)";
|
|
143
|
+
for (const m of request.multipartUploads || []) {
|
|
144
|
+
// MultipartRequest syntax looks like this:
|
|
145
|
+
// ..fields['user'] = 'nweiz@google.com'
|
|
146
|
+
// or
|
|
147
|
+
// ..files.add(await http.MultipartFile.fromPath(
|
|
148
|
+
// 'package', 'build/package.tar.gz',
|
|
149
|
+
// contentType: MediaType('application', 'x-tar')))
|
|
150
|
+
const name = repr(m.name, imports); // TODO: what if name is empty string?
|
|
151
|
+
const sentFilename = "filename" in m && m.filename;
|
|
152
|
+
if ("contentFile" in m) {
|
|
153
|
+
multipart += "\n ..files.add(await http.MultipartFile.";
|
|
154
|
+
if (eq(m.contentFile, "-")) {
|
|
155
|
+
if (request.stdinFile) {
|
|
156
|
+
multipart += "fromPath(\n";
|
|
157
|
+
multipart +=
|
|
158
|
+
" " + name + ", " + repr(request.stdinFile, imports);
|
|
159
|
+
if (sentFilename && request.stdinFile !== sentFilename) {
|
|
160
|
+
multipart += ",\n";
|
|
161
|
+
multipart += " filename: " + repr(sentFilename, imports);
|
|
162
|
+
}
|
|
163
|
+
multipart += "))";
|
|
164
|
+
}
|
|
165
|
+
else if (request.stdin) {
|
|
166
|
+
multipart += "fromString(\n";
|
|
167
|
+
multipart += " " + name + ", " + repr(request.stdin, imports);
|
|
168
|
+
if (sentFilename) {
|
|
169
|
+
multipart += ",\n";
|
|
170
|
+
multipart += " filename: " + repr(sentFilename, imports);
|
|
171
|
+
}
|
|
172
|
+
multipart += "))";
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
multipart += "fromString(\n";
|
|
176
|
+
// TODO: read the entire thing, not one line.
|
|
177
|
+
multipart +=
|
|
178
|
+
" " + name + ", stdin.readLineSync(encoding: utf8)";
|
|
179
|
+
if (sentFilename) {
|
|
180
|
+
multipart += ",\n";
|
|
181
|
+
multipart += " filename: " + repr(sentFilename, imports);
|
|
182
|
+
}
|
|
183
|
+
multipart += "))";
|
|
184
|
+
imports.add("dart:io");
|
|
185
|
+
imports.add("dart:convert");
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
multipart += "fromPath(\n";
|
|
190
|
+
multipart += " " + name + ", " + repr(m.contentFile, imports);
|
|
191
|
+
if (sentFilename && m.contentFile !== sentFilename) {
|
|
192
|
+
multipart += ",\n";
|
|
193
|
+
multipart += " filename: " + repr(sentFilename, imports);
|
|
194
|
+
}
|
|
195
|
+
multipart += "))";
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
multipart +=
|
|
200
|
+
"\n ..fields[" + name + "] = " + repr(m.content, imports);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
multipart += ";\n\n";
|
|
204
|
+
if (hasHeaders || request.urls[0].auth) {
|
|
205
|
+
s += " final req = " + multipart;
|
|
206
|
+
if (request.headers.length) {
|
|
207
|
+
for (const [hname, hval] of request.headers) {
|
|
208
|
+
s +=
|
|
209
|
+
" req.headers[" +
|
|
210
|
+
repr(hname, imports) +
|
|
211
|
+
"] = " +
|
|
212
|
+
repr(hval || new Word(), imports) +
|
|
213
|
+
";\n";
|
|
214
|
+
}
|
|
215
|
+
s += "\n";
|
|
216
|
+
}
|
|
217
|
+
if (request.urls[0].auth) {
|
|
218
|
+
s += " req.headers['Authorization'] = authn;\n";
|
|
219
|
+
s += "\n";
|
|
220
|
+
}
|
|
221
|
+
s += " final stream = await req.send();\n";
|
|
222
|
+
s += " final res = await http.Response.fromStream(stream);\n";
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
s += " final req = " + multipart;
|
|
226
|
+
s += " final stream = await req.send();\n";
|
|
227
|
+
s += " final res = await http.Response.fromStream(stream);\n";
|
|
228
|
+
}
|
|
229
|
+
s +=
|
|
230
|
+
" final status = res.statusCode;\n" +
|
|
231
|
+
" if (status != 200) throw Exception('http.send" +
|
|
232
|
+
" error: statusCode= $status');\n" +
|
|
233
|
+
"\n" +
|
|
234
|
+
" print(res.body);\n" +
|
|
235
|
+
"}";
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
s +=
|
|
239
|
+
" final res = await http." +
|
|
240
|
+
request.urls[0].method.toLowerCase().toString() +
|
|
241
|
+
"(url";
|
|
242
|
+
if (hasHeaders)
|
|
243
|
+
s += ", headers: headers";
|
|
244
|
+
else if (request.urls[0].auth)
|
|
245
|
+
s += ", headers: {'Authorization': authn}";
|
|
246
|
+
if (hasData)
|
|
247
|
+
s += ", body: data";
|
|
248
|
+
s += ");\n";
|
|
249
|
+
s +=
|
|
250
|
+
" final status = res.statusCode;\n" +
|
|
251
|
+
" if (status != 200) throw Exception('http." +
|
|
252
|
+
request.urls[0].method.toLowerCase().toString() +
|
|
253
|
+
" error: statusCode= $status');\n" +
|
|
254
|
+
"\n" +
|
|
255
|
+
" print(res.body);\n" +
|
|
256
|
+
"}";
|
|
257
|
+
}
|
|
258
|
+
let importString = "";
|
|
259
|
+
for (const imp of Array.from(imports).sort()) {
|
|
260
|
+
importString += "import '" + imp + "';\n";
|
|
261
|
+
}
|
|
262
|
+
importString += "import 'package:http/http.dart' as http;\n";
|
|
263
|
+
return importString + "\n" + s + "\n";
|
|
264
|
+
}
|
|
265
|
+
export function toDartWarn(curlCommand, warnings = []) {
|
|
266
|
+
const requests = parse(curlCommand, supportedArgs, warnings);
|
|
267
|
+
const dart = _toDart(requests, warnings);
|
|
268
|
+
return [dart, warnings];
|
|
269
|
+
}
|
|
270
|
+
export function toDart(curlCommand) {
|
|
271
|
+
return toDartWarn(curlCommand)[0];
|
|
272
|
+
}
|
|
273
|
+
//# sourceMappingURL=dart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dart.js","sourceRoot":"","sources":["../../../src/generators/dart.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Word } from "../shell/Word.js";
|
|
2
|
+
import type { Request, Warnings } from "../parse.js";
|
|
3
|
+
export declare const supportedArgs: Set<string>;
|
|
4
|
+
export declare function reprStr(s: string): string;
|
|
5
|
+
export declare function repr(w: Word): string;
|
|
6
|
+
export declare function _toElixir(requests: Request[], warnings?: Warnings): string;
|
|
7
|
+
export declare function toElixirWarn(curlCommand: string | string[], warnings?: Warnings): [string, Warnings];
|
|
8
|
+
export declare function toElixir(curlCommand: string | string[]): string;
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
import { warnIfPartsIgnored } from "../Warnings.js";
|
|
2
|
+
import { Word, joinWords } from "../shell/Word.js";
|
|
3
|
+
import { parse, COMMON_SUPPORTED_ARGS } from "../parse.js";
|
|
4
|
+
import { parseQueryString } from "../Query.js";
|
|
5
|
+
export const supportedArgs = new Set([
|
|
6
|
+
...COMMON_SUPPORTED_ARGS,
|
|
7
|
+
"form",
|
|
8
|
+
"form-string",
|
|
9
|
+
"insecure",
|
|
10
|
+
"no-insecure",
|
|
11
|
+
"next",
|
|
12
|
+
]);
|
|
13
|
+
const regexEscape = /"|\\|\p{C}|[^ \P{Z}]|#\{/gu;
|
|
14
|
+
export function reprStr(s) {
|
|
15
|
+
return ('"' +
|
|
16
|
+
s.replace(regexEscape, (c) => {
|
|
17
|
+
switch (c[0]) {
|
|
18
|
+
case "\x00":
|
|
19
|
+
return "\\0";
|
|
20
|
+
case "\x07":
|
|
21
|
+
return "\\a";
|
|
22
|
+
case "\b":
|
|
23
|
+
return "\\b";
|
|
24
|
+
case "\f":
|
|
25
|
+
return "\\f";
|
|
26
|
+
case "\n":
|
|
27
|
+
return "\\n";
|
|
28
|
+
case "\r":
|
|
29
|
+
return "\\r";
|
|
30
|
+
case "\t":
|
|
31
|
+
return "\\t";
|
|
32
|
+
case "\v":
|
|
33
|
+
return "\\v";
|
|
34
|
+
case "\x1B":
|
|
35
|
+
return "\\e";
|
|
36
|
+
case "\\":
|
|
37
|
+
return "\\\\";
|
|
38
|
+
case '"':
|
|
39
|
+
return '\\"';
|
|
40
|
+
case "#":
|
|
41
|
+
return "\\" + c;
|
|
42
|
+
}
|
|
43
|
+
const hex = c.codePointAt(0).toString(16);
|
|
44
|
+
if (hex.length <= 4) {
|
|
45
|
+
return "\\u" + hex.padStart(4, "0");
|
|
46
|
+
}
|
|
47
|
+
return "\\u{" + hex + "}";
|
|
48
|
+
}) +
|
|
49
|
+
'"');
|
|
50
|
+
}
|
|
51
|
+
export function repr(w) {
|
|
52
|
+
const args = [];
|
|
53
|
+
for (const t of w.tokens) {
|
|
54
|
+
if (typeof t === "string") {
|
|
55
|
+
args.push(reprStr(t));
|
|
56
|
+
}
|
|
57
|
+
else if (t.type === "variable") {
|
|
58
|
+
args.push("System.get_env(" + reprStr(t.value) + ', "")');
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// TODO: strip newline?
|
|
62
|
+
// TODO: use System.cmd(), which needs to be two arguments the command name + list of args
|
|
63
|
+
args.push("elem(System.shell(" + reprStr(t.value) + "), 0)");
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return args.join(" <> ");
|
|
67
|
+
}
|
|
68
|
+
function addIndent(value) {
|
|
69
|
+
// split on new lines and add 2 spaces of indentation to each line, except empty lines
|
|
70
|
+
return value
|
|
71
|
+
.split("\n")
|
|
72
|
+
.map((line) => (line ? " " + line : line))
|
|
73
|
+
.join("\n");
|
|
74
|
+
}
|
|
75
|
+
function getCookies(request) {
|
|
76
|
+
if (!request.cookies || !request.cookies.length) {
|
|
77
|
+
return "";
|
|
78
|
+
}
|
|
79
|
+
// TODO: this duplicates work, just get it from request.headers
|
|
80
|
+
const cookies = joinWords(request.cookies.map((c) => joinWords(c, "=")), "; ");
|
|
81
|
+
return `cookie: [${repr(cookies)}]`;
|
|
82
|
+
}
|
|
83
|
+
function getOptions(request, params) {
|
|
84
|
+
const hackneyOptions = [];
|
|
85
|
+
const auth = getBasicAuth(request);
|
|
86
|
+
if (auth) {
|
|
87
|
+
hackneyOptions.push(auth);
|
|
88
|
+
}
|
|
89
|
+
if (request.insecure) {
|
|
90
|
+
hackneyOptions.push(":insecure");
|
|
91
|
+
}
|
|
92
|
+
const cookies = getCookies(request);
|
|
93
|
+
if (cookies) {
|
|
94
|
+
hackneyOptions.push(cookies);
|
|
95
|
+
}
|
|
96
|
+
let hackneyOptionsString = "";
|
|
97
|
+
if (hackneyOptions.length > 1) {
|
|
98
|
+
hackneyOptionsString = `hackney: [\n ${hackneyOptions.join(",\n ")}\n ]`;
|
|
99
|
+
}
|
|
100
|
+
else if (hackneyOptions.length) {
|
|
101
|
+
hackneyOptionsString = `hackney: [${hackneyOptions[0]}]`;
|
|
102
|
+
}
|
|
103
|
+
const optionsWithoutParams = `[${hackneyOptionsString}]`;
|
|
104
|
+
let options = optionsWithoutParams;
|
|
105
|
+
if (params !== "[]") {
|
|
106
|
+
options = "";
|
|
107
|
+
options += "[\n";
|
|
108
|
+
options += " params: " + addIndent(params).trim();
|
|
109
|
+
if (hackneyOptionsString) {
|
|
110
|
+
options += ",\n";
|
|
111
|
+
options += " " + addIndent(hackneyOptionsString).trim();
|
|
112
|
+
}
|
|
113
|
+
options += "\n";
|
|
114
|
+
options += " ]";
|
|
115
|
+
}
|
|
116
|
+
return [options, optionsWithoutParams];
|
|
117
|
+
}
|
|
118
|
+
function getBasicAuth(request) {
|
|
119
|
+
if (!request.urls[0].auth) {
|
|
120
|
+
return "";
|
|
121
|
+
}
|
|
122
|
+
const [user, password] = request.urls[0].auth;
|
|
123
|
+
return `basic_auth: {${repr(user)}, ${repr(password)}}`;
|
|
124
|
+
}
|
|
125
|
+
function getQueryDict(request) {
|
|
126
|
+
if (!request.urls[0].queryList || !request.urls[0].queryList.length) {
|
|
127
|
+
return "[]";
|
|
128
|
+
}
|
|
129
|
+
let queryDict = "[\n";
|
|
130
|
+
const queryDictLines = [];
|
|
131
|
+
for (const [paramName, rawValue] of request.urls[0].queryList) {
|
|
132
|
+
queryDictLines.push(` {${repr(paramName)}, ${repr(rawValue)}}`);
|
|
133
|
+
}
|
|
134
|
+
queryDict += queryDictLines.join(",\n");
|
|
135
|
+
queryDict += "\n ]";
|
|
136
|
+
return queryDict;
|
|
137
|
+
}
|
|
138
|
+
function getHeadersDict(request) {
|
|
139
|
+
if (!request.headers.length) {
|
|
140
|
+
return "[]";
|
|
141
|
+
}
|
|
142
|
+
let dict = "[\n";
|
|
143
|
+
const dictLines = [];
|
|
144
|
+
for (const [headerName, headerValue] of request.headers) {
|
|
145
|
+
dictLines.push(` {${repr(headerName)}, ${repr(headerValue !== null && headerValue !== void 0 ? headerValue : new Word())}}`);
|
|
146
|
+
}
|
|
147
|
+
dict += dictLines.join(",\n");
|
|
148
|
+
dict += "\n ]";
|
|
149
|
+
return dict;
|
|
150
|
+
}
|
|
151
|
+
function getBody(request) {
|
|
152
|
+
const formData = getFormDataString(request);
|
|
153
|
+
return formData ? formData : '""';
|
|
154
|
+
}
|
|
155
|
+
function getFormDataString(request) {
|
|
156
|
+
var _a;
|
|
157
|
+
if (request.multipartUploads) {
|
|
158
|
+
if (!request.multipartUploads.length) {
|
|
159
|
+
return `{:multipart, []}`;
|
|
160
|
+
}
|
|
161
|
+
const formParams = [];
|
|
162
|
+
for (const m of request.multipartUploads) {
|
|
163
|
+
if ("contentFile" in m) {
|
|
164
|
+
formParams.push(` {:file, ${repr(m.contentFile)}, {"form-data", [{:name, ${repr(m.name)}}, {:filename, Path.basename(${repr((_a = m.filename) !== null && _a !== void 0 ? _a : m.contentFile)})}]}, []}`);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
formParams.push(` {${repr(m.name)}, ${repr(m.content)}}`);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
const formStr = formParams.join(",\n");
|
|
171
|
+
if (formStr) {
|
|
172
|
+
return `{:multipart, [
|
|
173
|
+
${formStr}
|
|
174
|
+
]}`;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (request.data) {
|
|
178
|
+
return getDataString(request);
|
|
179
|
+
}
|
|
180
|
+
return "";
|
|
181
|
+
}
|
|
182
|
+
function getDataString(request) {
|
|
183
|
+
if (!request.data) {
|
|
184
|
+
return "";
|
|
185
|
+
}
|
|
186
|
+
// TODO: JSON with Poison
|
|
187
|
+
if (!request.isDataRaw && request.data.startsWith("@")) {
|
|
188
|
+
const filePath = request.data.slice(1);
|
|
189
|
+
if (request.isDataBinary) {
|
|
190
|
+
return `File.read!(${repr(filePath)})`;
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
return `{:file, ${repr(filePath)}}`;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
const [parsedQuery] = parseQueryString(request.data);
|
|
197
|
+
if (parsedQuery && parsedQuery.length) {
|
|
198
|
+
const data = parsedQuery.map((p) => {
|
|
199
|
+
const [key, value] = p;
|
|
200
|
+
return ` {${repr(key)}, ${repr(value)}}`;
|
|
201
|
+
});
|
|
202
|
+
return `{:form, [\n${data.join(",\n")}\n ]}`;
|
|
203
|
+
}
|
|
204
|
+
if (request.data.isString() &&
|
|
205
|
+
!request.data.includes("|") &&
|
|
206
|
+
request.data.split("\n", 4).length > 3 &&
|
|
207
|
+
// No trailing whitespace, except possibly on the last line
|
|
208
|
+
!request.data.match(/[^\S\r\n]\n/)) {
|
|
209
|
+
return "~s|" + request.data.toString() + "|";
|
|
210
|
+
}
|
|
211
|
+
return repr(request.data);
|
|
212
|
+
}
|
|
213
|
+
function requestToElixir(request, warnings = []) {
|
|
214
|
+
warnIfPartsIgnored(request, warnings);
|
|
215
|
+
if (request.cookies) {
|
|
216
|
+
request.headers.delete("cookie");
|
|
217
|
+
}
|
|
218
|
+
// delete!(url, headers \\ [], options \\ [])
|
|
219
|
+
// get!(url, headers \\ [], options \\ [])
|
|
220
|
+
// head!(url, headers \\ [], options \\ [])
|
|
221
|
+
// options!(url, headers \\ [], options \\ [])
|
|
222
|
+
// patch!(url, body, headers \\ [], options \\ [])
|
|
223
|
+
// post!(url, body, headers \\ [], options \\ [])
|
|
224
|
+
// put!(url, body \\ "", headers \\ [], options \\ [])
|
|
225
|
+
const methods = ["DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT"];
|
|
226
|
+
const bodyMethods = ["PATCH", "POST", "PUT"];
|
|
227
|
+
const method = request.urls[0].method;
|
|
228
|
+
const methodStr = method.toString();
|
|
229
|
+
if (!methods.includes(methodStr)) {
|
|
230
|
+
warnings.push([
|
|
231
|
+
"bad-method",
|
|
232
|
+
"Unsupported method " + JSON.stringify(methodStr),
|
|
233
|
+
]);
|
|
234
|
+
}
|
|
235
|
+
const isBodyMethod = bodyMethods.includes(methodStr);
|
|
236
|
+
const body = getBody(request);
|
|
237
|
+
const headers = getHeadersDict(request);
|
|
238
|
+
const params = getQueryDict(request);
|
|
239
|
+
// params can go in the options argument, but if we're using the full
|
|
240
|
+
// form, put them as a separate argument.
|
|
241
|
+
const [options, optionsWithoutParams] = getOptions(request, params);
|
|
242
|
+
if (isBodyMethod || (body === '""' && methods.includes(methodStr))) {
|
|
243
|
+
// Add args backwards. As soon as we see a non-default value, we have to
|
|
244
|
+
// add all preceding arguments.
|
|
245
|
+
let args = [];
|
|
246
|
+
let keepArgs = false;
|
|
247
|
+
keepArgs || (keepArgs = options !== "[]");
|
|
248
|
+
if (keepArgs) {
|
|
249
|
+
args.push(options);
|
|
250
|
+
}
|
|
251
|
+
keepArgs || (keepArgs = headers !== "[]");
|
|
252
|
+
if (keepArgs) {
|
|
253
|
+
args.push(headers);
|
|
254
|
+
}
|
|
255
|
+
keepArgs || (keepArgs = body !== '""');
|
|
256
|
+
if (keepArgs && isBodyMethod) {
|
|
257
|
+
args.push(body);
|
|
258
|
+
}
|
|
259
|
+
args.push(repr(request.urls[0].urlWithoutQueryList));
|
|
260
|
+
args = args.reverse();
|
|
261
|
+
let s = "response = HTTPoison." + methodStr.toLowerCase() + "!(";
|
|
262
|
+
if (args.length === 1) {
|
|
263
|
+
// If we just need the method+URL, keep it all on one line
|
|
264
|
+
s += args[0];
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
s += "\n";
|
|
268
|
+
s += " " + args.join(",\n ");
|
|
269
|
+
s += "\n";
|
|
270
|
+
}
|
|
271
|
+
return s + ")\n";
|
|
272
|
+
}
|
|
273
|
+
return `request = %HTTPoison.Request{
|
|
274
|
+
method: :${method.toLowerCase().toString()},
|
|
275
|
+
url: ${repr(request.urls[0].urlWithoutQueryList)},
|
|
276
|
+
body: ${body},
|
|
277
|
+
headers: ${headers},
|
|
278
|
+
options: ${optionsWithoutParams},
|
|
279
|
+
params: ${params}
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
response = HTTPoison.request(request)
|
|
283
|
+
`;
|
|
284
|
+
}
|
|
285
|
+
export function _toElixir(requests, warnings = []) {
|
|
286
|
+
return requests.map((r) => requestToElixir(r, warnings)).join("\n");
|
|
287
|
+
}
|
|
288
|
+
export function toElixirWarn(curlCommand, warnings = []) {
|
|
289
|
+
const requests = parse(curlCommand, supportedArgs, warnings);
|
|
290
|
+
const elixir = _toElixir(requests, warnings);
|
|
291
|
+
return [elixir, warnings];
|
|
292
|
+
}
|
|
293
|
+
export function toElixir(curlCommand) {
|
|
294
|
+
return toElixirWarn(curlCommand)[0];
|
|
295
|
+
}
|
|
296
|
+
//# sourceMappingURL=elixir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elixir.js","sourceRoot":"","sources":["../../../src/generators/elixir.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Request, Warnings } from "../parse.js";
|
|
2
|
+
export declare const supportedArgs: Set<string>;
|
|
3
|
+
export declare function _toGo(requests: Request[], warnings?: Warnings): string;
|
|
4
|
+
export declare function toGoWarn(curlCommand: string | string[], warnings?: Warnings): [string, Warnings];
|
|
5
|
+
export declare function toGo(curlCommand: string | string[]): string;
|