@scalar/snippetz 0.7.4 → 0.7.5

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.
Files changed (245) hide show
  1. package/dist/clients/index.js +168 -169
  2. package/dist/httpsnippet-lite/helpers/code-builder.js +86 -74
  3. package/dist/httpsnippet-lite/helpers/escape.js +69 -44
  4. package/dist/httpsnippet-lite/helpers/headers.js +17 -14
  5. package/dist/httpsnippet-lite/helpers/reducer.js +1 -1
  6. package/dist/httpsnippet-lite/helpers/shell.js +13 -13
  7. package/dist/httpsnippet-lite/helpers/snippet-request.js +1 -1
  8. package/dist/httpsnippet-lite/helpers/url.js +4 -8
  9. package/dist/httpsnippet-lite/targets/c/libcurl/client.js +69 -67
  10. package/dist/httpsnippet-lite/targets/clojure/clj_http/client.js +165 -154
  11. package/dist/httpsnippet-lite/targets/csharp/restsharp/client.js +35 -38
  12. package/dist/httpsnippet-lite/targets/go/native/client.js +151 -147
  13. package/dist/httpsnippet-lite/targets/java/asynchttp/client.js +32 -35
  14. package/dist/httpsnippet-lite/targets/java/nethttp/client.js +40 -39
  15. package/dist/httpsnippet-lite/targets/java/okhttp/client.js +83 -73
  16. package/dist/httpsnippet-lite/targets/java/unirest/client.js +41 -34
  17. package/dist/httpsnippet-lite/targets/javascript/axios/client.js +81 -76
  18. package/dist/httpsnippet-lite/targets/javascript/jquery/client.js +77 -71
  19. package/dist/httpsnippet-lite/targets/javascript/xhr/client.js +73 -71
  20. package/dist/httpsnippet-lite/targets/kotlin/okhttp/client.js +83 -73
  21. package/dist/httpsnippet-lite/targets/node/axios/client.js +74 -69
  22. package/dist/httpsnippet-lite/targets/objc/helpers.js +52 -33
  23. package/dist/httpsnippet-lite/targets/objc/nsurlsession/client.js +123 -121
  24. package/dist/httpsnippet-lite/targets/ocaml/cohttp/client.js +60 -49
  25. package/dist/httpsnippet-lite/targets/powershell/common.js +46 -56
  26. package/dist/httpsnippet-lite/targets/powershell/restmethod/client.js +9 -13
  27. package/dist/httpsnippet-lite/targets/powershell/webrequest/client.js +9 -13
  28. package/dist/httpsnippet-lite/targets/python/python3/client.js +85 -68
  29. package/dist/httpsnippet-lite/targets/r/httr/client.js +114 -95
  30. package/dist/httpsnippet-lite/targets/ruby/native/client.js +66 -70
  31. package/dist/httpsnippet-lite/targets/shell/httpie/client.js +121 -107
  32. package/dist/httpsnippet-lite/targets/shell/wget/client.js +48 -43
  33. package/dist/httpsnippet-lite/targets/swift/helpers.js +62 -44
  34. package/dist/httpsnippet-lite/targets/swift/nsurlsession/client.js +126 -112
  35. package/dist/httpsnippet-lite/targets/target.js +1 -1
  36. package/dist/index.js +2 -9
  37. package/dist/libs/http.js +68 -56
  38. package/dist/libs/javascript.js +77 -60
  39. package/dist/libs/php.js +59 -49
  40. package/dist/libs/rust.js +60 -33
  41. package/dist/libs/shell.js +14 -5
  42. package/dist/plugins/c/libcurl/index.js +1 -5
  43. package/dist/plugins/c/libcurl/libcurl.js +13 -13
  44. package/dist/plugins/clojure/clj_http/clj_http.js +13 -13
  45. package/dist/plugins/clojure/clj_http/index.js +1 -5
  46. package/dist/plugins/csharp/httpclient/httpclient.js +186 -150
  47. package/dist/plugins/csharp/httpclient/index.js +1 -5
  48. package/dist/plugins/csharp/restsharp/index.js +1 -5
  49. package/dist/plugins/csharp/restsharp/restsharp.js +13 -13
  50. package/dist/plugins/dart/http/http.js +95 -93
  51. package/dist/plugins/dart/http/index.js +1 -5
  52. package/dist/plugins/fsharp/httpclient/httpclient.js +156 -122
  53. package/dist/plugins/fsharp/httpclient/index.js +1 -5
  54. package/dist/plugins/go/native/index.js +1 -5
  55. package/dist/plugins/go/native/native.js +13 -13
  56. package/dist/plugins/http/http11/http11.js +103 -85
  57. package/dist/plugins/http/http11/index.js +1 -5
  58. package/dist/plugins/java/asynchttp/asynchttp.js +13 -13
  59. package/dist/plugins/java/asynchttp/index.js +1 -5
  60. package/dist/plugins/java/nethttp/index.js +1 -5
  61. package/dist/plugins/java/nethttp/nethttp.js +13 -13
  62. package/dist/plugins/java/okhttp/index.js +1 -5
  63. package/dist/plugins/java/okhttp/okhttp.js +13 -13
  64. package/dist/plugins/java/unirest/index.js +1 -5
  65. package/dist/plugins/java/unirest/unirest.js +13 -13
  66. package/dist/plugins/js/axios/axios.js +13 -13
  67. package/dist/plugins/js/axios/index.js +1 -5
  68. package/dist/plugins/js/fetch/fetch.js +82 -68
  69. package/dist/plugins/js/fetch/index.js +1 -5
  70. package/dist/plugins/js/jquery/index.js +1 -5
  71. package/dist/plugins/js/jquery/jquery.js +13 -13
  72. package/dist/plugins/js/ofetch/index.js +1 -5
  73. package/dist/plugins/js/ofetch/ofetch.js +61 -48
  74. package/dist/plugins/js/xhr/index.js +1 -5
  75. package/dist/plugins/js/xhr/xhr.js +13 -13
  76. package/dist/plugins/kotlin/okhttp/index.js +1 -5
  77. package/dist/plugins/kotlin/okhttp/okhttp.js +13 -13
  78. package/dist/plugins/node/axios/axios.js +13 -13
  79. package/dist/plugins/node/axios/index.js +1 -5
  80. package/dist/plugins/node/fetch/fetch.js +86 -74
  81. package/dist/plugins/node/fetch/index.js +1 -5
  82. package/dist/plugins/node/ofetch/index.js +1 -5
  83. package/dist/plugins/node/ofetch/ofetch.js +61 -48
  84. package/dist/plugins/node/undici/index.js +1 -5
  85. package/dist/plugins/node/undici/undici.js +60 -47
  86. package/dist/plugins/objc/nsurlsession/index.js +1 -5
  87. package/dist/plugins/objc/nsurlsession/nsurlsession.js +13 -13
  88. package/dist/plugins/ocaml/cohttp/cohttp.js +13 -13
  89. package/dist/plugins/ocaml/cohttp/index.js +1 -5
  90. package/dist/plugins/php/curl/curl.js +143 -101
  91. package/dist/plugins/php/curl/index.js +1 -5
  92. package/dist/plugins/php/guzzle/guzzle.js +103 -83
  93. package/dist/plugins/php/guzzle/index.js +1 -5
  94. package/dist/plugins/powershell/restmethod/index.js +1 -5
  95. package/dist/plugins/powershell/restmethod/restmethod.js +13 -13
  96. package/dist/plugins/powershell/webrequest/index.js +1 -5
  97. package/dist/plugins/powershell/webrequest/webrequest.js +13 -13
  98. package/dist/plugins/python/httpx/async.js +17 -15
  99. package/dist/plugins/python/httpx/index.js +2 -7
  100. package/dist/plugins/python/httpx/sync.js +11 -12
  101. package/dist/plugins/python/python3/index.js +1 -5
  102. package/dist/plugins/python/python3/python3.js +13 -13
  103. package/dist/plugins/python/requests/index.js +1 -5
  104. package/dist/plugins/python/requests/requests.js +11 -12
  105. package/dist/plugins/python/requestsLike.js +128 -112
  106. package/dist/plugins/r/httr/httr.js +13 -13
  107. package/dist/plugins/r/httr/index.js +1 -5
  108. package/dist/plugins/ruby/native/index.js +1 -5
  109. package/dist/plugins/ruby/native/native.js +13 -13
  110. package/dist/plugins/rust/reqwest/index.js +1 -5
  111. package/dist/plugins/rust/reqwest/reqwest.js +110 -83
  112. package/dist/plugins/shell/curl/curl.js +128 -97
  113. package/dist/plugins/shell/curl/index.js +1 -5
  114. package/dist/plugins/shell/httpie/httpie.js +13 -13
  115. package/dist/plugins/shell/httpie/index.js +1 -5
  116. package/dist/plugins/shell/wget/index.js +1 -5
  117. package/dist/plugins/shell/wget/wget.js +13 -13
  118. package/dist/plugins/swift/nsurlsession/index.js +1 -5
  119. package/dist/plugins/swift/nsurlsession/nsurlsession.js +13 -13
  120. package/dist/snippetz.js +25 -28
  121. package/dist/utils/convertWithHttpSnippetLite.js +100 -96
  122. package/dist/utils/index.js +1 -5
  123. package/package.json +8 -12
  124. package/dist/clients/index.js.map +0 -7
  125. package/dist/httpsnippet-lite/helpers/code-builder.js.map +0 -7
  126. package/dist/httpsnippet-lite/helpers/escape.js.map +0 -7
  127. package/dist/httpsnippet-lite/helpers/headers.js.map +0 -7
  128. package/dist/httpsnippet-lite/helpers/reducer.js.map +0 -7
  129. package/dist/httpsnippet-lite/helpers/shell.js.map +0 -7
  130. package/dist/httpsnippet-lite/helpers/snippet-request.js.map +0 -7
  131. package/dist/httpsnippet-lite/helpers/url.js.map +0 -7
  132. package/dist/httpsnippet-lite/targets/c/libcurl/client.js.map +0 -7
  133. package/dist/httpsnippet-lite/targets/clojure/clj_http/client.js.map +0 -7
  134. package/dist/httpsnippet-lite/targets/csharp/restsharp/client.js.map +0 -7
  135. package/dist/httpsnippet-lite/targets/go/native/client.js.map +0 -7
  136. package/dist/httpsnippet-lite/targets/java/asynchttp/client.js.map +0 -7
  137. package/dist/httpsnippet-lite/targets/java/nethttp/client.js.map +0 -7
  138. package/dist/httpsnippet-lite/targets/java/okhttp/client.js.map +0 -7
  139. package/dist/httpsnippet-lite/targets/java/unirest/client.js.map +0 -7
  140. package/dist/httpsnippet-lite/targets/javascript/axios/client.js.map +0 -7
  141. package/dist/httpsnippet-lite/targets/javascript/jquery/client.js.map +0 -7
  142. package/dist/httpsnippet-lite/targets/javascript/xhr/client.js.map +0 -7
  143. package/dist/httpsnippet-lite/targets/kotlin/okhttp/client.js.map +0 -7
  144. package/dist/httpsnippet-lite/targets/node/axios/client.js.map +0 -7
  145. package/dist/httpsnippet-lite/targets/objc/helpers.js.map +0 -7
  146. package/dist/httpsnippet-lite/targets/objc/nsurlsession/client.js.map +0 -7
  147. package/dist/httpsnippet-lite/targets/ocaml/cohttp/client.js.map +0 -7
  148. package/dist/httpsnippet-lite/targets/powershell/common.js.map +0 -7
  149. package/dist/httpsnippet-lite/targets/powershell/restmethod/client.js.map +0 -7
  150. package/dist/httpsnippet-lite/targets/powershell/webrequest/client.js.map +0 -7
  151. package/dist/httpsnippet-lite/targets/python/python3/client.js.map +0 -7
  152. package/dist/httpsnippet-lite/targets/r/httr/client.js.map +0 -7
  153. package/dist/httpsnippet-lite/targets/ruby/native/client.js.map +0 -7
  154. package/dist/httpsnippet-lite/targets/shell/httpie/client.js.map +0 -7
  155. package/dist/httpsnippet-lite/targets/shell/wget/client.js.map +0 -7
  156. package/dist/httpsnippet-lite/targets/swift/helpers.js.map +0 -7
  157. package/dist/httpsnippet-lite/targets/swift/nsurlsession/client.js.map +0 -7
  158. package/dist/httpsnippet-lite/targets/target.js.map +0 -7
  159. package/dist/index.js.map +0 -7
  160. package/dist/libs/http.js.map +0 -7
  161. package/dist/libs/javascript.js.map +0 -7
  162. package/dist/libs/php.js.map +0 -7
  163. package/dist/libs/rust.js.map +0 -7
  164. package/dist/libs/shell.js.map +0 -7
  165. package/dist/plugins/c/libcurl/index.js.map +0 -7
  166. package/dist/plugins/c/libcurl/libcurl.js.map +0 -7
  167. package/dist/plugins/clojure/clj_http/clj_http.js.map +0 -7
  168. package/dist/plugins/clojure/clj_http/index.js.map +0 -7
  169. package/dist/plugins/csharp/httpclient/httpclient.js.map +0 -7
  170. package/dist/plugins/csharp/httpclient/index.js.map +0 -7
  171. package/dist/plugins/csharp/restsharp/index.js.map +0 -7
  172. package/dist/plugins/csharp/restsharp/restsharp.js.map +0 -7
  173. package/dist/plugins/dart/http/http.js.map +0 -7
  174. package/dist/plugins/dart/http/index.js.map +0 -7
  175. package/dist/plugins/fsharp/httpclient/httpclient.js.map +0 -7
  176. package/dist/plugins/fsharp/httpclient/index.js.map +0 -7
  177. package/dist/plugins/go/native/index.js.map +0 -7
  178. package/dist/plugins/go/native/native.js.map +0 -7
  179. package/dist/plugins/http/http11/http11.js.map +0 -7
  180. package/dist/plugins/http/http11/index.js.map +0 -7
  181. package/dist/plugins/java/asynchttp/asynchttp.js.map +0 -7
  182. package/dist/plugins/java/asynchttp/index.js.map +0 -7
  183. package/dist/plugins/java/nethttp/index.js.map +0 -7
  184. package/dist/plugins/java/nethttp/nethttp.js.map +0 -7
  185. package/dist/plugins/java/okhttp/index.js.map +0 -7
  186. package/dist/plugins/java/okhttp/okhttp.js.map +0 -7
  187. package/dist/plugins/java/unirest/index.js.map +0 -7
  188. package/dist/plugins/java/unirest/unirest.js.map +0 -7
  189. package/dist/plugins/js/axios/axios.js.map +0 -7
  190. package/dist/plugins/js/axios/index.js.map +0 -7
  191. package/dist/plugins/js/fetch/fetch.js.map +0 -7
  192. package/dist/plugins/js/fetch/index.js.map +0 -7
  193. package/dist/plugins/js/jquery/index.js.map +0 -7
  194. package/dist/plugins/js/jquery/jquery.js.map +0 -7
  195. package/dist/plugins/js/ofetch/index.js.map +0 -7
  196. package/dist/plugins/js/ofetch/ofetch.js.map +0 -7
  197. package/dist/plugins/js/xhr/index.js.map +0 -7
  198. package/dist/plugins/js/xhr/xhr.js.map +0 -7
  199. package/dist/plugins/kotlin/okhttp/index.js.map +0 -7
  200. package/dist/plugins/kotlin/okhttp/okhttp.js.map +0 -7
  201. package/dist/plugins/node/axios/axios.js.map +0 -7
  202. package/dist/plugins/node/axios/index.js.map +0 -7
  203. package/dist/plugins/node/fetch/fetch.js.map +0 -7
  204. package/dist/plugins/node/fetch/index.js.map +0 -7
  205. package/dist/plugins/node/ofetch/index.js.map +0 -7
  206. package/dist/plugins/node/ofetch/ofetch.js.map +0 -7
  207. package/dist/plugins/node/undici/index.js.map +0 -7
  208. package/dist/plugins/node/undici/undici.js.map +0 -7
  209. package/dist/plugins/objc/nsurlsession/index.js.map +0 -7
  210. package/dist/plugins/objc/nsurlsession/nsurlsession.js.map +0 -7
  211. package/dist/plugins/ocaml/cohttp/cohttp.js.map +0 -7
  212. package/dist/plugins/ocaml/cohttp/index.js.map +0 -7
  213. package/dist/plugins/php/curl/curl.js.map +0 -7
  214. package/dist/plugins/php/curl/index.js.map +0 -7
  215. package/dist/plugins/php/guzzle/guzzle.js.map +0 -7
  216. package/dist/plugins/php/guzzle/index.js.map +0 -7
  217. package/dist/plugins/powershell/restmethod/index.js.map +0 -7
  218. package/dist/plugins/powershell/restmethod/restmethod.js.map +0 -7
  219. package/dist/plugins/powershell/webrequest/index.js.map +0 -7
  220. package/dist/plugins/powershell/webrequest/webrequest.js.map +0 -7
  221. package/dist/plugins/python/httpx/async.js.map +0 -7
  222. package/dist/plugins/python/httpx/index.js.map +0 -7
  223. package/dist/plugins/python/httpx/sync.js.map +0 -7
  224. package/dist/plugins/python/python3/index.js.map +0 -7
  225. package/dist/plugins/python/python3/python3.js.map +0 -7
  226. package/dist/plugins/python/requests/index.js.map +0 -7
  227. package/dist/plugins/python/requests/requests.js.map +0 -7
  228. package/dist/plugins/python/requestsLike.js.map +0 -7
  229. package/dist/plugins/r/httr/httr.js.map +0 -7
  230. package/dist/plugins/r/httr/index.js.map +0 -7
  231. package/dist/plugins/ruby/native/index.js.map +0 -7
  232. package/dist/plugins/ruby/native/native.js.map +0 -7
  233. package/dist/plugins/rust/reqwest/index.js.map +0 -7
  234. package/dist/plugins/rust/reqwest/reqwest.js.map +0 -7
  235. package/dist/plugins/shell/curl/curl.js.map +0 -7
  236. package/dist/plugins/shell/curl/index.js.map +0 -7
  237. package/dist/plugins/shell/httpie/httpie.js.map +0 -7
  238. package/dist/plugins/shell/httpie/index.js.map +0 -7
  239. package/dist/plugins/shell/wget/index.js.map +0 -7
  240. package/dist/plugins/shell/wget/wget.js.map +0 -7
  241. package/dist/plugins/swift/nsurlsession/index.js.map +0 -7
  242. package/dist/plugins/swift/nsurlsession/nsurlsession.js.map +0 -7
  243. package/dist/snippetz.js.map +0 -7
  244. package/dist/utils/convertWithHttpSnippetLite.js.map +0 -7
  245. package/dist/utils/index.js.map +0 -7
@@ -1,153 +1,157 @@
1
- import { CodeBuilder } from "../../../../httpsnippet-lite/helpers/code-builder.js";
2
- import { escapeForDoubleQuotes } from "../../../../httpsnippet-lite/helpers/escape.js";
3
- const native = {
4
- info: {
5
- key: "native",
6
- title: "NewRequest",
7
- link: "http://golang.org/pkg/net/http/#NewRequest",
8
- description: "Golang HTTP client request"
9
- },
10
- convert: ({ postData, method, allHeaders, fullUrl }, options = {}) => {
11
- const { blank, push, join, addPostProcessor } = new CodeBuilder({ indent: " " });
12
- const {
13
- showBoilerplate = true,
14
- checkErrors = false,
15
- printBody = true,
16
- timeout = -1,
17
- insecureSkipVerify = false
18
- } = options;
19
- const errorPlaceholder = checkErrors ? "err" : "_";
20
- const indent = showBoilerplate ? 1 : 0;
21
- const errorCheck = () => {
22
- if (checkErrors) {
23
- push("if err != nil {", indent);
24
- push("panic(err)", indent + 1);
25
- push("}", indent);
26
- }
27
- };
28
- const imports = /* @__PURE__ */ new Set();
29
- if (showBoilerplate) {
30
- push("package main");
31
- blank();
32
- push("import ()");
33
- addPostProcessor((code) => {
34
- const importArray = [...imports];
35
- importArray.sort();
36
- const importBlock = importArray.map((line) => ` "${line}"`).join("\n");
37
- return code.replace(/import \(\)/, `import (
38
- ${importBlock}
39
- )`);
40
- });
41
- imports.add("fmt");
42
- imports.add("net/http");
43
- blank();
44
- push("func main() {");
45
- }
46
- if (insecureSkipVerify) {
47
- imports.add("crypto/tls");
48
- push("insecureTransport := http.DefaultTransport.(*http.Transport).Clone()", indent);
49
- push("insecureTransport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}", indent);
50
- }
51
- const hasTimeout = timeout > 0;
52
- const hasClient = hasTimeout || insecureSkipVerify;
53
- const client = hasClient ? "client" : "http.DefaultClient";
54
- if (hasClient) {
55
- push("client := http.Client{", indent);
56
- if (hasTimeout) {
57
- imports.add("time");
58
- push(`Timeout: time.Duration(${timeout} * time.Second),`, indent + 1);
59
- }
60
- if (insecureSkipVerify) {
61
- push("Transport: insecureTransport,", indent + 1);
62
- }
63
- push("}", indent);
64
- blank();
65
- }
66
- push(`url := "${fullUrl}"`, indent);
67
- blank();
68
- if (postData !== null && postData !== void 0 && (postData.params || postData.text)) {
69
- if (postData.mimeType === "application/x-www-form-urlencoded" && postData.params) {
70
- imports.add("net/url");
71
- imports.add("strings");
72
- push("postData := url.Values{}", indent);
73
- postData.params.forEach((param) => {
74
- push(`postData.Set("${param.name}", "${escapeForDoubleQuotes(param.value)}")`, indent);
75
- });
1
+ /**
2
+ * @description
3
+ * HTTP code snippet generator for native Go.
4
+ *
5
+ * @author
6
+ * @montanaflynn
7
+ *
8
+ * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.
9
+ */
10
+ import { CodeBuilder } from '../../../../httpsnippet-lite/helpers/code-builder.js';
11
+ import { escapeForDoubleQuotes } from '../../../../httpsnippet-lite/helpers/escape.js';
12
+ export const native = {
13
+ info: {
14
+ key: 'native',
15
+ title: 'NewRequest',
16
+ link: 'http://golang.org/pkg/net/http/#NewRequest',
17
+ description: 'Golang HTTP client request',
18
+ },
19
+ convert: ({ postData, method, allHeaders, fullUrl }, options = {}) => {
20
+ const { blank, push, join, addPostProcessor } = new CodeBuilder({ indent: '\t' });
21
+ const { showBoilerplate = true, checkErrors = false, printBody = true, timeout = -1, insecureSkipVerify = false, } = options;
22
+ const errorPlaceholder = checkErrors ? 'err' : '_';
23
+ const indent = showBoilerplate ? 1 : 0;
24
+ const errorCheck = () => {
25
+ if (checkErrors) {
26
+ push('if err != nil {', indent);
27
+ push('panic(err)', indent + 1);
28
+ push('}', indent);
29
+ }
30
+ };
31
+ // Create boilerplate
32
+ const imports = new Set();
33
+ if (showBoilerplate) {
34
+ push('package main');
35
+ blank();
36
+ push('import ()');
37
+ addPostProcessor((code) => {
38
+ const importArray = [...imports];
39
+ importArray.sort();
40
+ const importBlock = importArray.map((line) => `\t"${line}"`).join('\n');
41
+ return code.replace(/import \(\)/, `import (\n${importBlock}\n)`);
42
+ });
43
+ imports.add('fmt');
44
+ imports.add('net/http');
45
+ blank();
46
+ push('func main() {');
47
+ }
48
+ // Create an insecure transport for the client
49
+ if (insecureSkipVerify) {
50
+ imports.add('crypto/tls');
51
+ push('insecureTransport := http.DefaultTransport.(*http.Transport).Clone()', indent);
52
+ push('insecureTransport.TLSClientConfig = &tls.Config{InsecureSkipVerify: true}', indent);
53
+ }
54
+ // Create client
55
+ const hasTimeout = timeout > 0;
56
+ const hasClient = hasTimeout || insecureSkipVerify;
57
+ const client = hasClient ? 'client' : 'http.DefaultClient';
58
+ if (hasClient) {
59
+ push('client := http.Client{', indent);
60
+ if (hasTimeout) {
61
+ imports.add('time');
62
+ push(`Timeout: time.Duration(${timeout} * time.Second),`, indent + 1);
63
+ }
64
+ if (insecureSkipVerify) {
65
+ push('Transport: insecureTransport,', indent + 1);
66
+ }
67
+ push('}', indent);
68
+ blank();
69
+ }
70
+ push(`url := "${fullUrl}"`, indent);
76
71
  blank();
77
- push(
78
- `req, ${errorPlaceholder} := http.NewRequest("${method}", url, strings.NewReader(postData.Encode()))`,
79
- indent
80
- );
81
- } else if (postData.mimeType === "multipart/form-data" && postData.params) {
82
- imports.add("bytes");
83
- imports.add("mime/multipart");
84
- push("payload := &bytes.Buffer{}", indent);
85
- push("writer := multipart.NewWriter(payload)", indent);
86
- postData.params.forEach((param) => {
87
- blank();
88
- if (param.fileName) {
89
- push(`part, ${errorPlaceholder} := writer.CreateFormFile("${param.name}", "${param.fileName}")`, indent);
90
- errorCheck();
72
+ // If we have body content or not create the var and reader or nil
73
+ if (postData !== null && postData !== void 0 && (postData.params || postData.text)) {
74
+ if (postData.mimeType === 'application/x-www-form-urlencoded' && postData.params) {
75
+ imports.add('net/url');
76
+ imports.add('strings');
77
+ push('postData := url.Values{}', indent);
78
+ postData.params.forEach((param) => {
79
+ push(`postData.Set("${param.name}", "${escapeForDoubleQuotes(param.value)}")`, indent);
80
+ });
81
+ blank();
82
+ push(`req, ${errorPlaceholder} := http.NewRequest("${method}", url, strings.NewReader(postData.Encode()))`, indent);
83
+ }
84
+ else if (postData.mimeType === 'multipart/form-data' && postData.params) {
85
+ imports.add('bytes');
86
+ imports.add('mime/multipart');
87
+ push('payload := &bytes.Buffer{}', indent);
88
+ push('writer := multipart.NewWriter(payload)', indent);
89
+ postData.params.forEach((param) => {
90
+ blank();
91
+ if (param.fileName) {
92
+ push(`part, ${errorPlaceholder} := writer.CreateFormFile("${param.name}", "${param.fileName}")`, indent);
93
+ errorCheck();
94
+ blank();
95
+ push(`f, ${errorPlaceholder} := os.Open("${param.fileName}")`, indent);
96
+ errorCheck();
97
+ push('defer f.Close()', indent);
98
+ blank();
99
+ push(`_, ${errorPlaceholder} = io.Copy(part, f)`, indent);
100
+ errorCheck();
101
+ }
102
+ else {
103
+ push(`${errorPlaceholder} = writer.WriteField("${param.name}", "${escapeForDoubleQuotes(param.value)}")`, indent);
104
+ errorCheck();
105
+ }
106
+ });
107
+ push('writer.Close()', indent);
108
+ blank();
109
+ push(`req, ${errorPlaceholder} := http.NewRequest("${method}", url, payload)`, indent);
110
+ }
111
+ else {
112
+ imports.add('strings');
113
+ push(`payload := strings.NewReader(${JSON.stringify(postData.text)})`, indent);
114
+ blank();
115
+ push(`req, ${errorPlaceholder} := http.NewRequest("${method}", url, payload)`, indent);
116
+ }
117
+ }
118
+ else {
119
+ push(`req, ${errorPlaceholder} := http.NewRequest("${method}", url, nil)`, indent);
120
+ }
121
+ errorCheck();
122
+ blank();
123
+ // Add headers
124
+ if (postData !== null && postData !== void 0 && postData.mimeType === 'multipart/form-data' && postData.params) {
125
+ push(`req.Header.Set("Content-Type", writer.FormDataContentType())`, indent);
126
+ }
127
+ if (Object.keys(allHeaders).length) {
128
+ Object.keys(allHeaders).forEach((key) => {
129
+ push(`req.Header.Add("${key}", "${escapeForDoubleQuotes(allHeaders[key])}")`, indent);
130
+ });
91
131
  blank();
92
- push(`f, ${errorPlaceholder} := os.Open("${param.fileName}")`, indent);
93
- errorCheck();
94
- push("defer f.Close()", indent);
132
+ }
133
+ // Make request
134
+ push(`res, ${errorPlaceholder} := ${client}.Do(req)`, indent);
135
+ errorCheck();
136
+ // Get Body
137
+ if (printBody) {
138
+ imports.add('io');
95
139
  blank();
96
- push(`_, ${errorPlaceholder} = io.Copy(part, f)`, indent);
97
- errorCheck();
98
- } else {
99
- push(
100
- `${errorPlaceholder} = writer.WriteField("${param.name}", "${escapeForDoubleQuotes(param.value)}")`,
101
- indent
102
- );
140
+ push('defer res.Body.Close()', indent);
141
+ push(`body, ${errorPlaceholder} := io.ReadAll(res.Body)`, indent);
103
142
  errorCheck();
104
- }
105
- });
106
- push("writer.Close()", indent);
107
- blank();
108
- push(`req, ${errorPlaceholder} := http.NewRequest("${method}", url, payload)`, indent);
109
- } else {
110
- imports.add("strings");
111
- push(`payload := strings.NewReader(${JSON.stringify(postData.text)})`, indent);
143
+ }
144
+ // Print it
112
145
  blank();
113
- push(`req, ${errorPlaceholder} := http.NewRequest("${method}", url, payload)`, indent);
114
- }
115
- } else {
116
- push(`req, ${errorPlaceholder} := http.NewRequest("${method}", url, nil)`, indent);
117
- }
118
- errorCheck();
119
- blank();
120
- if (postData !== null && postData !== void 0 && postData.mimeType === "multipart/form-data" && postData.params) {
121
- push(`req.Header.Set("Content-Type", writer.FormDataContentType())`, indent);
122
- }
123
- if (Object.keys(allHeaders).length) {
124
- Object.keys(allHeaders).forEach((key) => {
125
- push(`req.Header.Add("${key}", "${escapeForDoubleQuotes(allHeaders[key])}")`, indent);
126
- });
127
- blank();
128
- }
129
- push(`res, ${errorPlaceholder} := ${client}.Do(req)`, indent);
130
- errorCheck();
131
- if (printBody) {
132
- imports.add("io");
133
- blank();
134
- push("defer res.Body.Close()", indent);
135
- push(`body, ${errorPlaceholder} := io.ReadAll(res.Body)`, indent);
136
- errorCheck();
137
- }
138
- blank();
139
- push("fmt.Println(res)", indent);
140
- if (printBody) {
141
- push("fmt.Println(string(body))", indent);
142
- }
143
- if (showBoilerplate) {
144
- blank();
145
- push("}");
146
- }
147
- return join();
148
- }
149
- };
150
- export {
151
- native
146
+ push('fmt.Println(res)', indent);
147
+ if (printBody) {
148
+ push('fmt.Println(string(body))', indent);
149
+ }
150
+ // End main block
151
+ if (showBoilerplate) {
152
+ blank();
153
+ push('}');
154
+ }
155
+ return join();
156
+ },
152
157
  };
153
- //# sourceMappingURL=client.js.map
@@ -1,36 +1,33 @@
1
- import { CodeBuilder } from "../../../helpers/code-builder.js";
2
- import { escapeForDoubleQuotes } from "../../../helpers/escape.js";
3
- const asynchttp = {
4
- info: {
5
- key: "asynchttp",
6
- title: "AsyncHttp",
7
- link: "https://github.com/AsyncHttpClient/async-http-client",
8
- description: "Asynchronous Http and WebSocket Client library for Java"
9
- },
10
- convert: ({ method, allHeaders, postData, fullUrl }, options) => {
11
- const opts = {
12
- indent: " ",
13
- ...options
14
- };
15
- const { blank, push, join } = new CodeBuilder({ indent: opts.indent });
16
- push("AsyncHttpClient client = new DefaultAsyncHttpClient();");
17
- push(`client.prepare("${method.toUpperCase()}", "${fullUrl}")`);
18
- Object.keys(allHeaders).forEach((key) => {
19
- push(`.setHeader("${key}", "${escapeForDoubleQuotes(allHeaders[key])}")`, 1);
20
- });
21
- if (postData === null || postData === void 0 ? void 0 : postData.text) {
22
- push(`.setBody(${JSON.stringify(postData.text)})`, 1);
23
- }
24
- push(".execute()", 1);
25
- push(".toCompletableFuture()", 1);
26
- push(".thenAccept(System.out::println)", 1);
27
- push(".join();", 1);
28
- blank();
29
- push("client.close();");
30
- return join();
31
- }
1
+ import { CodeBuilder } from '../../../helpers/code-builder.js';
2
+ import { escapeForDoubleQuotes } from '../../../helpers/escape.js';
3
+ export const asynchttp = {
4
+ info: {
5
+ key: 'asynchttp',
6
+ title: 'AsyncHttp',
7
+ link: 'https://github.com/AsyncHttpClient/async-http-client',
8
+ description: 'Asynchronous Http and WebSocket Client library for Java',
9
+ },
10
+ convert: ({ method, allHeaders, postData, fullUrl }, options) => {
11
+ const opts = {
12
+ indent: ' ',
13
+ ...options,
14
+ };
15
+ const { blank, push, join } = new CodeBuilder({ indent: opts.indent });
16
+ push('AsyncHttpClient client = new DefaultAsyncHttpClient();');
17
+ push(`client.prepare("${method.toUpperCase()}", "${fullUrl}")`);
18
+ // Add headers, including the cookies
19
+ Object.keys(allHeaders).forEach((key) => {
20
+ push(`.setHeader("${key}", "${escapeForDoubleQuotes(allHeaders[key])}")`, 1);
21
+ });
22
+ if (postData === null || postData === void 0 ? void 0 : postData.text) {
23
+ push(`.setBody(${JSON.stringify(postData.text)})`, 1);
24
+ }
25
+ push('.execute()', 1);
26
+ push('.toCompletableFuture()', 1);
27
+ push('.thenAccept(System.out::println)', 1);
28
+ push('.join();', 1);
29
+ blank();
30
+ push('client.close();');
31
+ return join();
32
+ },
32
33
  };
33
- export {
34
- asynchttp
35
- };
36
- //# sourceMappingURL=client.js.map
@@ -1,40 +1,41 @@
1
- import { CodeBuilder } from "../../../../httpsnippet-lite/helpers/code-builder.js";
2
- import { escapeForDoubleQuotes } from "../../../../httpsnippet-lite/helpers/escape.js";
3
- const nethttp = {
4
- info: {
5
- key: "nethttp",
6
- title: "java.net.http",
7
- link: "https://openjdk.java.net/groups/net/httpclient/intro.html",
8
- description: "Java Standardized HTTP Client API"
9
- },
10
- convert: ({ allHeaders, fullUrl, method, postData }, options) => {
11
- const opts = {
12
- indent: " ",
13
- ...options
14
- };
15
- const { push, join } = new CodeBuilder({ indent: opts.indent });
16
- push("HttpRequest request = HttpRequest.newBuilder()");
17
- push(`.uri(URI.create("${fullUrl}"))`, 2);
18
- Object.keys(allHeaders).forEach((key) => {
19
- push(`.header("${key}", "${escapeForDoubleQuotes(allHeaders[key])}")`, 2);
20
- });
21
- if (postData === null || postData === void 0 ? void 0 : postData.text) {
22
- push(
23
- `.method("${method.toUpperCase()}", HttpRequest.BodyPublishers.ofString(${JSON.stringify(postData.text)}))`,
24
- 2
25
- );
26
- } else {
27
- push(`.method("${method.toUpperCase()}", HttpRequest.BodyPublishers.noBody())`, 2);
28
- }
29
- push(".build();", 2);
30
- push(
31
- "HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());"
32
- );
33
- push("System.out.println(response.body());");
34
- return join();
35
- }
1
+ /**
2
+ * @description
3
+ * HTTP code snippet generator for Java using java.net.http.
4
+ *
5
+ * @author
6
+ * @wtetsu
7
+ *
8
+ * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.
9
+ */
10
+ import { CodeBuilder } from '../../../../httpsnippet-lite/helpers/code-builder.js';
11
+ import { escapeForDoubleQuotes } from '../../../../httpsnippet-lite/helpers/escape.js';
12
+ export const nethttp = {
13
+ info: {
14
+ key: 'nethttp',
15
+ title: 'java.net.http',
16
+ link: 'https://openjdk.java.net/groups/net/httpclient/intro.html',
17
+ description: 'Java Standardized HTTP Client API',
18
+ },
19
+ convert: ({ allHeaders, fullUrl, method, postData }, options) => {
20
+ const opts = {
21
+ indent: ' ',
22
+ ...options,
23
+ };
24
+ const { push, join } = new CodeBuilder({ indent: opts.indent });
25
+ push('HttpRequest request = HttpRequest.newBuilder()');
26
+ push(`.uri(URI.create("${fullUrl}"))`, 2);
27
+ Object.keys(allHeaders).forEach((key) => {
28
+ push(`.header("${key}", "${escapeForDoubleQuotes(allHeaders[key])}")`, 2);
29
+ });
30
+ if (postData === null || postData === void 0 ? void 0 : postData.text) {
31
+ push(`.method("${method.toUpperCase()}", HttpRequest.BodyPublishers.ofString(${JSON.stringify(postData.text)}))`, 2);
32
+ }
33
+ else {
34
+ push(`.method("${method.toUpperCase()}", HttpRequest.BodyPublishers.noBody())`, 2);
35
+ }
36
+ push('.build();', 2);
37
+ push('HttpResponse<String> response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());');
38
+ push('System.out.println(response.body());');
39
+ return join();
40
+ },
36
41
  };
37
- export {
38
- nethttp
39
- };
40
- //# sourceMappingURL=client.js.map
@@ -1,77 +1,87 @@
1
- import { CodeBuilder } from "../../../../httpsnippet-lite/helpers/code-builder.js";
2
- import { escapeForDoubleQuotes } from "../../../../httpsnippet-lite/helpers/escape.js";
3
- const okhttp = {
4
- info: {
5
- key: "okhttp",
6
- title: "OkHttp",
7
- link: "http://square.github.io/okhttp/",
8
- description: "An HTTP Request Client Library"
9
- },
10
- convert: ({ postData, method, fullUrl, allHeaders }, options) => {
11
- const opts = {
12
- indent: " ",
13
- ...options
14
- };
15
- const { push, blank, join } = new CodeBuilder({ indent: opts.indent });
16
- const methods = ["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD"];
17
- const methodsWithBody = ["POST", "PUT", "DELETE", "PATCH"];
18
- push("OkHttpClient client = new OkHttpClient();");
19
- blank();
20
- if (postData !== null && postData !== void 0) {
21
- if (postData.mimeType === "application/x-www-form-urlencoded" && postData.params) {
22
- push("FormBody formBody = new FormBody.Builder()");
23
- postData.params.forEach((param) => {
24
- push(`.addEncoded("${param.name}", "${param.value}")`, 1);
25
- });
26
- push(".build();", 1);
1
+ /**
2
+ * @description
3
+ * HTTP code snippet generator for Java using OkHttp.
4
+ *
5
+ * @author
6
+ * @shashiranjan84
7
+ *
8
+ * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.
9
+ */
10
+ import { CodeBuilder } from '../../../../httpsnippet-lite/helpers/code-builder.js';
11
+ import { escapeForDoubleQuotes } from '../../../../httpsnippet-lite/helpers/escape.js';
12
+ export const okhttp = {
13
+ info: {
14
+ key: 'okhttp',
15
+ title: 'OkHttp',
16
+ link: 'http://square.github.io/okhttp/',
17
+ description: 'An HTTP Request Client Library',
18
+ },
19
+ convert: ({ postData, method, fullUrl, allHeaders }, options) => {
20
+ const opts = {
21
+ indent: ' ',
22
+ ...options,
23
+ };
24
+ const { push, blank, join } = new CodeBuilder({ indent: opts.indent });
25
+ const methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'HEAD'];
26
+ const methodsWithBody = ['POST', 'PUT', 'DELETE', 'PATCH'];
27
+ push('OkHttpClient client = new OkHttpClient();');
27
28
  blank();
28
- } else if (postData.mimeType === "multipart/form-data" && postData.params) {
29
- push("MultipartBody body = new MultipartBody.Builder()");
30
- push(".setType(MultipartBody.FORM)", 1);
31
- postData.params.forEach((param) => {
32
- if (param.fileName !== void 0) {
33
- push(
34
- `.addFormDataPart("${param.name}", "${param.fileName}", RequestBody.create(MediaType.parse("application/octet-stream"), new File("${param.fileName}")))`,
35
- 1
36
- );
37
- } else if (param.value !== void 0) {
38
- push(`.addFormDataPart("${param.name}", "${param.value}")`, 1);
39
- }
29
+ if (postData !== null && postData !== void 0) {
30
+ if (postData.mimeType === 'application/x-www-form-urlencoded' && postData.params) {
31
+ push('FormBody formBody = new FormBody.Builder()');
32
+ postData.params.forEach((param) => {
33
+ push(`.addEncoded("${param.name}", "${param.value}")`, 1);
34
+ });
35
+ push('.build();', 1);
36
+ blank();
37
+ }
38
+ else if (postData.mimeType === 'multipart/form-data' && postData.params) {
39
+ push('MultipartBody body = new MultipartBody.Builder()');
40
+ push('.setType(MultipartBody.FORM)', 1);
41
+ postData.params.forEach((param) => {
42
+ if (param.fileName !== undefined) {
43
+ push(`.addFormDataPart("${param.name}", "${param.fileName}", RequestBody.create(MediaType.parse("application/octet-stream"), new File("${param.fileName}")))`, 1);
44
+ }
45
+ else if (param.value !== undefined) {
46
+ push(`.addFormDataPart("${param.name}", "${param.value}")`, 1);
47
+ }
48
+ });
49
+ push('.build();', 1);
50
+ blank();
51
+ }
52
+ else {
53
+ push(`MediaType mediaType = MediaType.parse("${postData.mimeType}");`);
54
+ push(`RequestBody body = RequestBody.create(mediaType, ${JSON.stringify(postData.text)});`);
55
+ }
56
+ }
57
+ push('Request request = new Request.Builder()');
58
+ push(`.url("${fullUrl}")`, 1);
59
+ if (!methods.includes(method.toUpperCase())) {
60
+ if (postData === null || postData === void 0 ? void 0 : postData.text) {
61
+ push(`.method("${method.toUpperCase()}", body)`, 1);
62
+ }
63
+ else {
64
+ push(`.method("${method.toUpperCase()}", null)`, 1);
65
+ }
66
+ }
67
+ else if (methodsWithBody.includes(method.toUpperCase())) {
68
+ if (postData === null || postData === void 0 ? void 0 : postData.text || postData.params) {
69
+ push(`.${method.toLowerCase()}(body)`, 1);
70
+ }
71
+ else {
72
+ push(`.${method.toLowerCase()}(null)`, 1);
73
+ }
74
+ }
75
+ else {
76
+ push(`.${method.toLowerCase()}()`, 1);
77
+ }
78
+ // Add headers, including the cookies
79
+ Object.keys(allHeaders).forEach((key) => {
80
+ push(`.addHeader("${key}", "${escapeForDoubleQuotes(allHeaders[key])}")`, 1);
40
81
  });
41
- push(".build();", 1);
82
+ push('.build();', 1);
42
83
  blank();
43
- } else {
44
- push(`MediaType mediaType = MediaType.parse("${postData.mimeType}");`);
45
- push(`RequestBody body = RequestBody.create(mediaType, ${JSON.stringify(postData.text)});`);
46
- }
47
- }
48
- push("Request request = new Request.Builder()");
49
- push(`.url("${fullUrl}")`, 1);
50
- if (!methods.includes(method.toUpperCase())) {
51
- if (postData === null || postData === void 0 ? void 0 : postData.text) {
52
- push(`.method("${method.toUpperCase()}", body)`, 1);
53
- } else {
54
- push(`.method("${method.toUpperCase()}", null)`, 1);
55
- }
56
- } else if (methodsWithBody.includes(method.toUpperCase())) {
57
- if (postData === null || postData === void 0 ? void 0 : postData.text || postData.params) {
58
- push(`.${method.toLowerCase()}(body)`, 1);
59
- } else {
60
- push(`.${method.toLowerCase()}(null)`, 1);
61
- }
62
- } else {
63
- push(`.${method.toLowerCase()}()`, 1);
64
- }
65
- Object.keys(allHeaders).forEach((key) => {
66
- push(`.addHeader("${key}", "${escapeForDoubleQuotes(allHeaders[key])}")`, 1);
67
- });
68
- push(".build();", 1);
69
- blank();
70
- push("Response response = client.newCall(request).execute();");
71
- return join();
72
- }
73
- };
74
- export {
75
- okhttp
84
+ push('Response response = client.newCall(request).execute();');
85
+ return join();
86
+ },
76
87
  };
77
- //# sourceMappingURL=client.js.map