@readme/httpsnippet 3.1.3 → 4.0.2

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 (319) hide show
  1. package/README.md +63 -62
  2. package/dist/package.json +86 -0
  3. package/dist/src/fixtures/customTarget.js +15 -0
  4. package/dist/src/fixtures/mimetypes.js +77 -0
  5. package/dist/src/fixtures/requests/application-form-encoded.js +69 -0
  6. package/dist/src/fixtures/requests/application-json.js +72 -0
  7. package/dist/src/fixtures/requests/cookies.js +51 -0
  8. package/dist/src/fixtures/requests/custom-method.js +41 -0
  9. package/dist/src/fixtures/requests/full.js +99 -0
  10. package/dist/src/fixtures/requests/headers.js +56 -0
  11. package/dist/src/fixtures/requests/http-insecure.js +45 -0
  12. package/dist/src/fixtures/requests/jsonObj-multiline.js +59 -0
  13. package/dist/src/fixtures/requests/jsonObj-null-value.js +61 -0
  14. package/dist/src/fixtures/requests/multipart-data.js +72 -0
  15. package/dist/src/fixtures/requests/multipart-file.js +65 -0
  16. package/dist/src/fixtures/requests/multipart-form-data-no-params.js +56 -0
  17. package/dist/src/fixtures/requests/multipart-form-data.js +64 -0
  18. package/dist/src/fixtures/requests/nested.js +64 -0
  19. package/dist/src/fixtures/requests/query-encoded.js +59 -0
  20. package/dist/src/fixtures/requests/query.js +64 -0
  21. package/dist/src/fixtures/requests/short.js +45 -0
  22. package/dist/src/fixtures/requests/text-plain.js +57 -0
  23. package/dist/src/fixtures/runCustomFixtures.js +77 -0
  24. package/dist/src/helpers/code-builder.js +91 -0
  25. package/dist/src/helpers/form-data.js +157 -0
  26. package/dist/src/helpers/har-validator.js +76 -0
  27. package/dist/src/helpers/headers.js +33 -0
  28. package/dist/src/helpers/reducer.js +19 -0
  29. package/dist/src/helpers/shell.js +20 -0
  30. package/dist/src/helpers/utils.js +21 -0
  31. package/dist/src/index.js +285 -0
  32. package/dist/src/targets/c/libcurl/client.js +43 -0
  33. package/dist/src/targets/c/target.js +15 -0
  34. package/dist/src/targets/clojure/clj_http/client.js +184 -0
  35. package/dist/src/targets/clojure/target.js +15 -0
  36. package/dist/src/targets/csharp/httpclient/client.js +162 -0
  37. package/dist/src/targets/csharp/restsharp/client.js +38 -0
  38. package/dist/src/targets/csharp/target.js +17 -0
  39. package/dist/src/targets/go/native/client.js +122 -0
  40. package/dist/src/targets/go/target.js +15 -0
  41. package/dist/src/targets/http/http1.1/client.js +79 -0
  42. package/dist/src/targets/http/target.js +15 -0
  43. package/dist/src/targets/java/asynchttp/client.js +53 -0
  44. package/dist/src/targets/java/nethttp/client.js +52 -0
  45. package/dist/src/targets/java/okhttp/client.js +79 -0
  46. package/dist/src/targets/java/target.js +21 -0
  47. package/dist/src/targets/java/unirest/client.js +53 -0
  48. package/dist/src/targets/javascript/axios/client.js +101 -0
  49. package/dist/src/targets/javascript/axios/fixtures/application-form-encoded.js +22 -0
  50. package/dist/src/targets/javascript/axios/fixtures/application-json.js +26 -0
  51. package/dist/src/targets/javascript/axios/fixtures/cookies.js +18 -0
  52. package/dist/src/targets/javascript/axios/fixtures/custom-method.js +14 -0
  53. package/dist/src/targets/javascript/axios/fixtures/full.js +26 -0
  54. package/dist/src/targets/javascript/axios/fixtures/headers.js +18 -0
  55. package/dist/src/targets/javascript/axios/fixtures/http-insecure.js +14 -0
  56. package/dist/src/targets/javascript/axios/fixtures/jsonObj-multiline.js +19 -0
  57. package/dist/src/targets/javascript/axios/fixtures/jsonObj-null-value.js +19 -0
  58. package/dist/src/targets/javascript/axios/fixtures/multipart-data.js +22 -0
  59. package/dist/src/targets/javascript/axios/fixtures/multipart-file.js +21 -0
  60. package/dist/src/targets/javascript/axios/fixtures/multipart-form-data-no-params.js +18 -0
  61. package/dist/src/targets/javascript/axios/fixtures/multipart-form-data.js +21 -0
  62. package/dist/src/targets/javascript/axios/fixtures/nested.js +18 -0
  63. package/dist/src/targets/javascript/axios/fixtures/query-encoded.js +21 -0
  64. package/dist/src/targets/javascript/axios/fixtures/query.js +18 -0
  65. package/dist/src/targets/javascript/axios/fixtures/short.js +14 -0
  66. package/dist/src/targets/javascript/axios/fixtures/text-plain.js +19 -0
  67. package/dist/src/targets/javascript/fetch/client.js +115 -0
  68. package/dist/src/targets/javascript/fetch/fixtures/application-form-encoded.js +9 -0
  69. package/dist/src/targets/javascript/fetch/fixtures/application-json.js +16 -0
  70. package/dist/src/targets/javascript/fetch/fixtures/cookies.js +5 -0
  71. package/dist/src/targets/javascript/fetch/fixtures/custom-method.js +5 -0
  72. package/dist/src/targets/javascript/fetch/fixtures/full.js +13 -0
  73. package/dist/src/targets/javascript/fetch/fixtures/headers.js +8 -0
  74. package/dist/src/targets/javascript/fetch/fixtures/http-insecure.js +5 -0
  75. package/dist/src/targets/javascript/fetch/fixtures/jsonObj-multiline.js +9 -0
  76. package/dist/src/targets/javascript/fetch/fixtures/jsonObj-null-value.js +9 -0
  77. package/dist/src/targets/javascript/fetch/fixtures/multipart-data.js +9 -0
  78. package/dist/src/targets/javascript/fetch/fixtures/multipart-file.js +8 -0
  79. package/dist/src/targets/javascript/fetch/fixtures/multipart-form-data-no-params.js +5 -0
  80. package/dist/src/targets/javascript/fetch/fixtures/multipart-form-data.js +8 -0
  81. package/dist/src/targets/javascript/fetch/fixtures/nested.js +5 -0
  82. package/dist/src/targets/javascript/fetch/fixtures/query-encoded.js +5 -0
  83. package/dist/src/targets/javascript/fetch/fixtures/query.js +5 -0
  84. package/dist/src/targets/javascript/fetch/fixtures/short.js +5 -0
  85. package/dist/src/targets/javascript/fetch/fixtures/text-plain.js +5 -0
  86. package/dist/src/targets/javascript/jquery/client.js +93 -0
  87. package/dist/src/targets/javascript/jquery/fixtures/application-form-encoded.js +17 -0
  88. package/dist/src/targets/javascript/jquery/fixtures/application-json.js +15 -0
  89. package/dist/src/targets/javascript/jquery/fixtures/cookies.js +13 -0
  90. package/dist/src/targets/javascript/jquery/fixtures/custom-method.js +11 -0
  91. package/dist/src/targets/javascript/jquery/fixtures/full.js +18 -0
  92. package/dist/src/targets/javascript/jquery/fixtures/headers.js +15 -0
  93. package/dist/src/targets/javascript/jquery/fixtures/http-insecure.js +11 -0
  94. package/dist/src/targets/javascript/jquery/fixtures/jsonObj-multiline.js +15 -0
  95. package/dist/src/targets/javascript/jquery/fixtures/jsonObj-null-value.js +15 -0
  96. package/dist/src/targets/javascript/jquery/fixtures/multipart-data.js +18 -0
  97. package/dist/src/targets/javascript/jquery/fixtures/multipart-file.js +17 -0
  98. package/dist/src/targets/javascript/jquery/fixtures/multipart-form-data-no-params.js +13 -0
  99. package/dist/src/targets/javascript/jquery/fixtures/multipart-form-data.js +17 -0
  100. package/dist/src/targets/javascript/jquery/fixtures/nested.js +11 -0
  101. package/dist/src/targets/javascript/jquery/fixtures/query-encoded.js +11 -0
  102. package/dist/src/targets/javascript/jquery/fixtures/query.js +11 -0
  103. package/dist/src/targets/javascript/jquery/fixtures/short.js +11 -0
  104. package/dist/src/targets/javascript/jquery/fixtures/text-plain.js +14 -0
  105. package/dist/src/targets/javascript/target.js +21 -0
  106. package/dist/src/targets/javascript/xhr/client.js +90 -0
  107. package/dist/src/targets/javascript/xhr/fixtures/application-form-encoded.js +12 -0
  108. package/dist/src/targets/javascript/xhr/fixtures/application-json.js +31 -0
  109. package/dist/src/targets/javascript/xhr/fixtures/cookies.js +12 -0
  110. package/dist/src/targets/javascript/xhr/fixtures/cors.js +10 -0
  111. package/dist/src/targets/javascript/xhr/fixtures/custom-method.js +11 -0
  112. package/dist/src/targets/javascript/xhr/fixtures/full.js +14 -0
  113. package/dist/src/targets/javascript/xhr/fixtures/headers.js +14 -0
  114. package/dist/src/targets/javascript/xhr/fixtures/http-insecure.js +11 -0
  115. package/dist/src/targets/javascript/xhr/fixtures/jsonObj-multiline.js +14 -0
  116. package/dist/src/targets/javascript/xhr/fixtures/jsonObj-null-value.js +14 -0
  117. package/dist/src/targets/javascript/xhr/fixtures/multipart-data.js +13 -0
  118. package/dist/src/targets/javascript/xhr/fixtures/multipart-file.js +12 -0
  119. package/dist/src/targets/javascript/xhr/fixtures/multipart-form-data-no-params.js +11 -0
  120. package/dist/src/targets/javascript/xhr/fixtures/multipart-form-data.js +12 -0
  121. package/dist/src/targets/javascript/xhr/fixtures/nested.js +11 -0
  122. package/dist/src/targets/javascript/xhr/fixtures/query-encoded.js +11 -0
  123. package/dist/src/targets/javascript/xhr/fixtures/query.js +11 -0
  124. package/dist/src/targets/javascript/xhr/fixtures/short.js +11 -0
  125. package/dist/src/targets/javascript/xhr/fixtures/text-plain.js +12 -0
  126. package/dist/src/targets/kotlin/okhttp/client.js +79 -0
  127. package/dist/src/targets/kotlin/target.js +15 -0
  128. package/dist/src/targets/node/axios/client.js +87 -0
  129. package/dist/src/targets/node/axios/fixtures/application-form-encoded.js +19 -0
  130. package/dist/src/targets/node/axios/fixtures/application-json.js +22 -0
  131. package/dist/src/targets/node/axios/fixtures/cookies.js +14 -0
  132. package/dist/src/targets/node/axios/fixtures/custom-method.js +10 -0
  133. package/dist/src/targets/node/axios/fixtures/full.js +22 -0
  134. package/dist/src/targets/node/axios/fixtures/headers.js +14 -0
  135. package/dist/src/targets/node/axios/fixtures/http-insecure.js +10 -0
  136. package/dist/src/targets/node/axios/fixtures/jsonObj-multiline.js +15 -0
  137. package/dist/src/targets/node/axios/fixtures/jsonObj-null-value.js +15 -0
  138. package/dist/src/targets/node/axios/fixtures/multipart-data.js +15 -0
  139. package/dist/src/targets/node/axios/fixtures/multipart-file.js +15 -0
  140. package/dist/src/targets/node/axios/fixtures/multipart-form-data-no-params.js +14 -0
  141. package/dist/src/targets/node/axios/fixtures/multipart-form-data.js +15 -0
  142. package/dist/src/targets/node/axios/fixtures/nested.js +13 -0
  143. package/dist/src/targets/node/axios/fixtures/query-encoded.js +13 -0
  144. package/dist/src/targets/node/axios/fixtures/query.js +13 -0
  145. package/dist/src/targets/node/axios/fixtures/short.js +10 -0
  146. package/dist/src/targets/node/axios/fixtures/text-plain.js +15 -0
  147. package/dist/src/targets/node/fetch/client.js +149 -0
  148. package/dist/src/targets/node/fetch/fixtures/application-form-encoded.js +15 -0
  149. package/dist/src/targets/node/fetch/fixtures/application-json.js +18 -0
  150. package/dist/src/targets/node/fetch/fixtures/cookies.js +7 -0
  151. package/dist/src/targets/node/fetch/fixtures/custom-method.js +7 -0
  152. package/dist/src/targets/node/fetch/fixtures/full.js +18 -0
  153. package/dist/src/targets/node/fetch/fixtures/headers.js +10 -0
  154. package/dist/src/targets/node/fetch/fixtures/http-insecure.js +7 -0
  155. package/dist/src/targets/node/fetch/fixtures/jsonObj-multiline.js +11 -0
  156. package/dist/src/targets/node/fetch/fixtures/jsonObj-null-value.js +11 -0
  157. package/dist/src/targets/node/fetch/fixtures/multipart-data.js +13 -0
  158. package/dist/src/targets/node/fetch/fixtures/multipart-file.js +12 -0
  159. package/dist/src/targets/node/fetch/fixtures/multipart-form-data-no-params.js +7 -0
  160. package/dist/src/targets/node/fetch/fixtures/multipart-form-data.js +11 -0
  161. package/dist/src/targets/node/fetch/fixtures/nested.js +7 -0
  162. package/dist/src/targets/node/fetch/fixtures/query-encoded.js +7 -0
  163. package/dist/src/targets/node/fetch/fixtures/query.js +7 -0
  164. package/dist/src/targets/node/fetch/fixtures/short.js +7 -0
  165. package/dist/src/targets/node/fetch/fixtures/text-plain.js +7 -0
  166. package/dist/src/targets/node/native/client.js +91 -0
  167. package/dist/src/targets/node/native/fixtures/application-form-encoded.js +24 -0
  168. package/dist/src/targets/node/native/fixtures/application-json.js +30 -0
  169. package/dist/src/targets/node/native/fixtures/cookies.js +22 -0
  170. package/dist/src/targets/node/native/fixtures/custom-method.js +20 -0
  171. package/dist/src/targets/node/native/fixtures/full.js +26 -0
  172. package/dist/src/targets/node/native/fixtures/headers.js +24 -0
  173. package/dist/src/targets/node/native/fixtures/http-insecure.js +20 -0
  174. package/dist/src/targets/node/native/fixtures/jsonObj-multiline.js +23 -0
  175. package/dist/src/targets/node/native/fixtures/jsonObj-null-value.js +23 -0
  176. package/dist/src/targets/node/native/fixtures/multipart-data.js +23 -0
  177. package/dist/src/targets/node/native/fixtures/multipart-file.js +23 -0
  178. package/dist/src/targets/node/native/fixtures/multipart-form-data-no-params.js +22 -0
  179. package/dist/src/targets/node/native/fixtures/multipart-form-data.js +23 -0
  180. package/dist/src/targets/node/native/fixtures/nested.js +20 -0
  181. package/dist/src/targets/node/native/fixtures/query-encoded.js +20 -0
  182. package/dist/src/targets/node/native/fixtures/query.js +20 -0
  183. package/dist/src/targets/node/native/fixtures/short.js +20 -0
  184. package/dist/src/targets/node/native/fixtures/text-plain.js +23 -0
  185. package/dist/src/targets/node/request/client.js +116 -0
  186. package/dist/src/targets/node/request/fixtures/application-form-encoded.js +13 -0
  187. package/dist/src/targets/node/request/fixtures/application-json.js +21 -0
  188. package/dist/src/targets/node/request/fixtures/cookies.js +11 -0
  189. package/dist/src/targets/node/request/fixtures/custom-method.js +8 -0
  190. package/dist/src/targets/node/request/fixtures/full.js +20 -0
  191. package/dist/src/targets/node/request/fixtures/headers.js +12 -0
  192. package/dist/src/targets/node/request/fixtures/http-insecure.js +8 -0
  193. package/dist/src/targets/node/request/fixtures/jsonObj-multiline.js +14 -0
  194. package/dist/src/targets/node/request/fixtures/jsonObj-null-value.js +14 -0
  195. package/dist/src/targets/node/request/fixtures/multipart-data.js +20 -0
  196. package/dist/src/targets/node/request/fixtures/multipart-file.js +19 -0
  197. package/dist/src/targets/node/request/fixtures/multipart-form-data-no-params.js +12 -0
  198. package/dist/src/targets/node/request/fixtures/multipart-form-data.js +13 -0
  199. package/dist/src/targets/node/request/fixtures/nested.js +11 -0
  200. package/dist/src/targets/node/request/fixtures/query-encoded.js +11 -0
  201. package/dist/src/targets/node/request/fixtures/query.js +11 -0
  202. package/dist/src/targets/node/request/fixtures/short.js +8 -0
  203. package/dist/src/targets/node/request/fixtures/text-plain.js +13 -0
  204. package/dist/src/targets/node/target.js +24 -0
  205. package/dist/src/targets/node/unirest/client.js +119 -0
  206. package/dist/src/targets/node/unirest/fixtures/application-form-encoded.js +15 -0
  207. package/dist/src/targets/node/unirest/fixtures/application-json.js +32 -0
  208. package/dist/src/targets/node/unirest/fixtures/cookies.js +12 -0
  209. package/dist/src/targets/node/unirest/fixtures/custom-method.js +8 -0
  210. package/dist/src/targets/node/unirest/fixtures/full.js +27 -0
  211. package/dist/src/targets/node/unirest/fixtures/headers.js +13 -0
  212. package/dist/src/targets/node/unirest/fixtures/http-insecure.js +8 -0
  213. package/dist/src/targets/node/unirest/fixtures/jsonObj-multiline.js +15 -0
  214. package/dist/src/targets/node/unirest/fixtures/jsonObj-null-value.js +15 -0
  215. package/dist/src/targets/node/unirest/fixtures/multipart-data.js +20 -0
  216. package/dist/src/targets/node/unirest/fixtures/multipart-file.js +18 -0
  217. package/dist/src/targets/node/unirest/fixtures/multipart-form-data-no-params.js +11 -0
  218. package/dist/src/targets/node/unirest/fixtures/multipart-form-data.js +16 -0
  219. package/dist/src/targets/node/unirest/fixtures/nested.js +13 -0
  220. package/dist/src/targets/node/unirest/fixtures/query-encoded.js +12 -0
  221. package/dist/src/targets/node/unirest/fixtures/query.js +16 -0
  222. package/dist/src/targets/node/unirest/fixtures/short.js +8 -0
  223. package/dist/src/targets/node/unirest/fixtures/text-plain.js +12 -0
  224. package/dist/src/targets/objc/helpers.js +59 -0
  225. package/dist/src/targets/objc/nsurlsession/client.js +151 -0
  226. package/dist/src/targets/objc/target.js +15 -0
  227. package/dist/src/targets/ocaml/cohttp/client.js +72 -0
  228. package/dist/src/targets/ocaml/target.js +15 -0
  229. package/dist/src/targets/php/curl/client.js +135 -0
  230. package/dist/src/targets/php/guzzle/client.js +126 -0
  231. package/dist/src/targets/php/helpers.js +63 -0
  232. package/dist/src/targets/php/http1/client.js +90 -0
  233. package/dist/src/targets/php/http2/client.js +128 -0
  234. package/dist/src/targets/php/target.js +22 -0
  235. package/dist/src/targets/powershell/common.js +49 -0
  236. package/dist/src/targets/powershell/restmethod/client.js +13 -0
  237. package/dist/src/targets/powershell/target.js +17 -0
  238. package/dist/src/targets/powershell/webrequest/client.js +13 -0
  239. package/dist/src/targets/python/helpers.js +70 -0
  240. package/dist/src/targets/python/requests/client.js +161 -0
  241. package/dist/src/targets/python/target.js +16 -0
  242. package/dist/src/targets/r/httr/client.js +125 -0
  243. package/dist/src/targets/r/target.js +15 -0
  244. package/dist/src/targets/ruby/native/client.js +69 -0
  245. package/dist/src/targets/ruby/target.js +15 -0
  246. package/dist/src/targets/shell/curl/client.js +171 -0
  247. package/dist/src/targets/shell/httpie/client.js +111 -0
  248. package/dist/src/targets/shell/target.js +20 -0
  249. package/dist/src/targets/shell/wget/client.js +55 -0
  250. package/dist/src/targets/swift/helpers.js +80 -0
  251. package/dist/src/targets/swift/nsurlsession/client.js +156 -0
  252. package/dist/src/targets/swift/target.js +15 -0
  253. package/dist/src/targets/targets.js +130 -0
  254. package/package.json +26 -21
  255. package/src/helpers/code-builder.js +0 -108
  256. package/src/helpers/form-data.js +0 -107
  257. package/src/helpers/headers.js +0 -48
  258. package/src/helpers/reducer.js +0 -20
  259. package/src/index.js +0 -361
  260. package/src/targets/c/index.js +0 -10
  261. package/src/targets/c/libcurl.js +0 -45
  262. package/src/targets/clojure/clj_http.js +0 -176
  263. package/src/targets/clojure/index.js +0 -10
  264. package/src/targets/csharp/httpclient.js +0 -157
  265. package/src/targets/csharp/index.js +0 -11
  266. package/src/targets/csharp/restsharp.js +0 -49
  267. package/src/targets/go/index.js +0 -10
  268. package/src/targets/go/native.js +0 -130
  269. package/src/targets/http/http1.1.js +0 -89
  270. package/src/targets/http/index.js +0 -10
  271. package/src/targets/index.js +0 -20
  272. package/src/targets/java/asynchttp.js +0 -54
  273. package/src/targets/java/index.js +0 -13
  274. package/src/targets/java/nethttp.js +0 -59
  275. package/src/targets/java/okhttp.js +0 -78
  276. package/src/targets/java/unirest.js +0 -57
  277. package/src/targets/javascript/axios.js +0 -101
  278. package/src/targets/javascript/fetch.js +0 -129
  279. package/src/targets/javascript/index.js +0 -13
  280. package/src/targets/javascript/jquery.js +0 -89
  281. package/src/targets/javascript/xhr.js +0 -86
  282. package/src/targets/kotlin/index.js +0 -10
  283. package/src/targets/kotlin/okhttp.js +0 -78
  284. package/src/targets/node/axios.js +0 -76
  285. package/src/targets/node/fetch.js +0 -145
  286. package/src/targets/node/index.js +0 -15
  287. package/src/targets/node/native.js +0 -92
  288. package/src/targets/node/request.js +0 -126
  289. package/src/targets/node/unirest.js +0 -120
  290. package/src/targets/objc/helpers.js +0 -80
  291. package/src/targets/objc/index.js +0 -10
  292. package/src/targets/objc/nsurlsession.js +0 -164
  293. package/src/targets/ocaml/cohttp.js +0 -73
  294. package/src/targets/ocaml/index.js +0 -10
  295. package/src/targets/php/curl.js +0 -142
  296. package/src/targets/php/guzzle.js +0 -135
  297. package/src/targets/php/helpers.js +0 -87
  298. package/src/targets/php/http1.js +0 -85
  299. package/src/targets/php/http2.js +0 -131
  300. package/src/targets/php/index.js +0 -14
  301. package/src/targets/powershell/common.js +0 -60
  302. package/src/targets/powershell/index.js +0 -11
  303. package/src/targets/powershell/restmethod.js +0 -8
  304. package/src/targets/powershell/webrequest.js +0 -8
  305. package/src/targets/python/helpers.js +0 -85
  306. package/src/targets/python/index.js +0 -11
  307. package/src/targets/python/requests.js +0 -163
  308. package/src/targets/r/httr.js +0 -134
  309. package/src/targets/r/index.js +0 -10
  310. package/src/targets/ruby/index.js +0 -10
  311. package/src/targets/ruby/native.js +0 -71
  312. package/src/targets/shell/curl.js +0 -157
  313. package/src/targets/shell/helpers.js +0 -23
  314. package/src/targets/shell/httpie.js +0 -129
  315. package/src/targets/shell/index.js +0 -13
  316. package/src/targets/shell/wget.js +0 -52
  317. package/src/targets/swift/helpers.js +0 -93
  318. package/src/targets/swift/index.js +0 -10
  319. package/src/targets/swift/nsurlsession.js +0 -152
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.native = void 0;
4
+ var code_builder_1 = require("../../../helpers/code-builder");
5
+ exports.native = {
6
+ info: {
7
+ key: 'native',
8
+ title: 'net::http',
9
+ link: 'http://ruby-doc.org/stdlib-2.2.1/libdoc/net/http/rdoc/Net/HTTP.html',
10
+ description: 'Ruby HTTP client'
11
+ },
12
+ convert: function (_a) {
13
+ var uriObj = _a.uriObj, rawMethod = _a.method, fullUrl = _a.fullUrl, postData = _a.postData, allHeaders = _a.allHeaders;
14
+ var _b = new code_builder_1.CodeBuilder(), push = _b.push, blank = _b.blank, join = _b.join;
15
+ push("require 'uri'");
16
+ push("require 'net/http'");
17
+ if (uriObj.protocol === 'https:') {
18
+ push("require 'openssl'");
19
+ }
20
+ blank();
21
+ // To support custom methods we check for the supported methods
22
+ // and if doesn't exist then we build a custom class for it
23
+ var method = rawMethod.toUpperCase();
24
+ var methods = [
25
+ 'GET',
26
+ 'POST',
27
+ 'HEAD',
28
+ 'DELETE',
29
+ 'PATCH',
30
+ 'PUT',
31
+ 'OPTIONS',
32
+ 'COPY',
33
+ 'LOCK',
34
+ 'UNLOCK',
35
+ 'MOVE',
36
+ 'TRACE',
37
+ ];
38
+ var capMethod = method.charAt(0) + method.substring(1).toLowerCase();
39
+ if (!methods.includes(method)) {
40
+ push("class Net::HTTP::".concat(capMethod, " < Net::HTTPRequest"));
41
+ push(" METHOD = '".concat(method.toUpperCase(), "'"));
42
+ push(" REQUEST_HAS_BODY = '".concat(postData.text ? 'true' : 'false', "'"));
43
+ push(' RESPONSE_HAS_BODY = true');
44
+ push('end');
45
+ blank();
46
+ }
47
+ push("url = URI(\"".concat(fullUrl, "\")"));
48
+ blank();
49
+ push('http = Net::HTTP.new(url.host, url.port)');
50
+ if (uriObj.protocol === 'https:') {
51
+ push('http.use_ssl = true');
52
+ }
53
+ blank();
54
+ push("request = Net::HTTP::".concat(capMethod, ".new(url)"));
55
+ var headers = Object.keys(allHeaders);
56
+ if (headers.length) {
57
+ headers.forEach(function (key) {
58
+ push("request[\"".concat(key, "\"] = '").concat(allHeaders[key], "'"));
59
+ });
60
+ }
61
+ if (postData.text) {
62
+ push("request.body = ".concat(JSON.stringify(postData.text)));
63
+ }
64
+ blank();
65
+ push('response = http.request(request)');
66
+ push('puts response.read_body');
67
+ return join();
68
+ }
69
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.ruby = void 0;
4
+ var client_1 = require("./native/client");
5
+ exports.ruby = {
6
+ info: {
7
+ key: 'ruby',
8
+ title: 'Ruby',
9
+ extname: '.rb',
10
+ "default": 'native'
11
+ },
12
+ clientsById: {
13
+ native: client_1.native
14
+ }
15
+ };
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ /**
3
+ * @description
4
+ *
5
+ * HTTP code snippet generator for the Shell using cURL.
6
+ *
7
+ * @author
8
+ * @AhmadNassri
9
+ *
10
+ * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.
11
+ */
12
+ var __assign = (this && this.__assign) || function () {
13
+ __assign = Object.assign || function(t) {
14
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
15
+ s = arguments[i];
16
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
17
+ t[p] = s[p];
18
+ }
19
+ return t;
20
+ };
21
+ return __assign.apply(this, arguments);
22
+ };
23
+ exports.__esModule = true;
24
+ exports.curl = void 0;
25
+ var code_builder_1 = require("../../../helpers/code-builder");
26
+ var headers_1 = require("../../../helpers/headers");
27
+ var shell_1 = require("../../../helpers/shell");
28
+ /**
29
+ * This is a const record with keys that correspond to the long names and values that correspond to the short names for cURL arguments.
30
+ */
31
+ var params = {
32
+ globoff: 'g',
33
+ request: 'X',
34
+ 'url ': '',
35
+ 'http1.0': '0',
36
+ header: 'H',
37
+ cookie: 'b',
38
+ form: 'F',
39
+ data: 'd'
40
+ };
41
+ var getArg = function (short) { return function (longName) {
42
+ if (short) {
43
+ var shortName = params[longName];
44
+ if (!shortName) {
45
+ return '';
46
+ }
47
+ return "-".concat(shortName);
48
+ }
49
+ return "--".concat(longName);
50
+ }; };
51
+ exports.curl = {
52
+ info: {
53
+ key: 'curl',
54
+ title: 'cURL',
55
+ link: 'http://curl.haxx.se/',
56
+ description: 'cURL is a command line tool and library for transferring data with URL syntax'
57
+ },
58
+ convert: function (_a, options) {
59
+ var _b;
60
+ var fullUrl = _a.fullUrl, method = _a.method, httpVersion = _a.httpVersion, headersObj = _a.headersObj, allHeaders = _a.allHeaders, postData = _a.postData;
61
+ if (options === void 0) { options = {}; }
62
+ var _c = options.indent, indent = _c === void 0 ? ' ' : _c, _d = options.short, short = _d === void 0 ? false : _d, _e = options.binary, binary = _e === void 0 ? false : _e, _f = options.globOff, globOff = _f === void 0 ? false : _f, _g = options.escapeBrackets, escapeBrackets = _g === void 0 ? false : _g;
63
+ var _h = new code_builder_1.CodeBuilder(__assign(__assign({}, (typeof indent === 'string' ? { indent: indent } : {})), { join: indent !== false ? " \\\n".concat(indent) : ' ' })), push = _h.push, join = _h.join;
64
+ var arg = getArg(short);
65
+ var formattedUrl = (0, shell_1.quote)(fullUrl);
66
+ if (escapeBrackets) {
67
+ formattedUrl = formattedUrl.replace(/\[/g, '\\[').replace(/\]/g, '\\]');
68
+ }
69
+ push("curl ".concat(arg('request'), " ").concat(method));
70
+ if (globOff) {
71
+ formattedUrl = unescape(formattedUrl);
72
+ push(arg('globoff'));
73
+ }
74
+ push("".concat(arg('url ')).concat(formattedUrl));
75
+ if (httpVersion === 'HTTP/1.0') {
76
+ push(arg('http1.0'));
77
+ }
78
+ // if multipart form data, we want to remove the boundary
79
+ if (postData.mimeType === 'multipart/form-data') {
80
+ var contentTypeHeaderName = (0, headers_1.getHeaderName)(headersObj, 'content-type');
81
+ if (contentTypeHeaderName) {
82
+ var contentTypeHeader = headersObj[contentTypeHeaderName];
83
+ if (contentTypeHeaderName && contentTypeHeader) {
84
+ // remove the leading semi colon and boundary
85
+ // up to the next semi colon or the end of string
86
+ var noBoundary = String(contentTypeHeader).replace(/; boundary.+?(?=(;|$))/, '');
87
+ // replace the content-type header with no boundary in both headersObj and allHeaders
88
+ headersObj[contentTypeHeaderName] = noBoundary;
89
+ allHeaders[contentTypeHeaderName] = noBoundary;
90
+ }
91
+ }
92
+ }
93
+ // construct headers
94
+ Object.keys(headersObj)
95
+ .sort()
96
+ .forEach(function (key) {
97
+ var header = "".concat(key, ": ").concat(headersObj[key]);
98
+ push("".concat(arg('header'), " ").concat((0, shell_1.quote)(header)));
99
+ });
100
+ if (allHeaders.cookie) {
101
+ push("".concat(arg('cookie'), " ").concat((0, shell_1.quote)(allHeaders.cookie)));
102
+ }
103
+ // construct post params
104
+ switch (postData.mimeType) {
105
+ case 'multipart/form-data':
106
+ (_b = postData.params) === null || _b === void 0 ? void 0 : _b.forEach(function (param) {
107
+ var post = '';
108
+ if (param.fileName) {
109
+ post = "".concat(param.name, "=@").concat(param.fileName);
110
+ }
111
+ else {
112
+ post = "".concat(param.name, "=").concat(param.value);
113
+ }
114
+ push("".concat(arg('form'), " ").concat((0, shell_1.quote)(post)));
115
+ });
116
+ break;
117
+ case 'application/x-www-form-urlencoded':
118
+ if (postData.params) {
119
+ postData.params.forEach(function (param) {
120
+ var unencoded = param.name;
121
+ var encoded = encodeURIComponent(param.name);
122
+ var needsEncoding = encoded !== unencoded;
123
+ var name = needsEncoding ? encoded : unencoded;
124
+ var flag = binary ? '--data-binary' : "--data".concat(needsEncoding ? '-urlencode' : '');
125
+ push("".concat(flag, " ").concat((0, shell_1.quote)("".concat(name, "=").concat(param.value))));
126
+ });
127
+ }
128
+ else {
129
+ push("".concat(binary ? '--data-binary' : arg('data'), " ").concat((0, shell_1.quote)(postData.text)));
130
+ }
131
+ break;
132
+ default:
133
+ // raw request body
134
+ if (!postData.text) {
135
+ break;
136
+ }
137
+ // eslint-disable-next-line no-case-declarations -- builtPayload is only used here.
138
+ var builtPayload = false;
139
+ // If we're dealing with a JSON variant, and our payload is JSON let's make it look a little
140
+ // nicer.
141
+ if ((0, headers_1.isMimeTypeJSON)(postData.mimeType)) {
142
+ // If our postData is less than 20 characters, let's keep it all on one line so as to not
143
+ // make the snippet overly lengthy
144
+ if (postData.text.length > 20) {
145
+ try {
146
+ var jsonPayload = JSON.parse(postData.text);
147
+ // If the JSON object has a single quote we should prepare it inside of a HEREDOC
148
+ // because the single quote in something like `string's` can't be escaped when used
149
+ // with `--data`.
150
+ //
151
+ // Basically this boils down to `--data @- <<EOF...EOF` vs `--data '...'`.
152
+ builtPayload = true;
153
+ if (postData.text.indexOf("'") > 0) {
154
+ push("".concat(binary ? '--data-binary' : arg('data'), " @- <<EOF\n").concat(JSON.stringify(jsonPayload, null, indent || ' '), "\nEOF"));
155
+ }
156
+ else {
157
+ push("".concat(binary ? '--data-binary' : arg('data'), " '\n").concat(JSON.stringify(jsonPayload, null, indent || ' '), "\n'"));
158
+ }
159
+ }
160
+ catch (err) {
161
+ // no-op
162
+ }
163
+ }
164
+ }
165
+ if (!builtPayload) {
166
+ push("".concat(binary ? '--data-binary' : arg('data'), " ").concat((0, shell_1.quote)(postData.text)));
167
+ }
168
+ }
169
+ return join();
170
+ }
171
+ };
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ /**
3
+ * @description
4
+ * HTTP code snippet generator for the Shell using HTTPie.
5
+ *
6
+ * @author
7
+ * @AhmadNassri
8
+ *
9
+ * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.
10
+ */
11
+ var __assign = (this && this.__assign) || function () {
12
+ __assign = Object.assign || function(t) {
13
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
14
+ s = arguments[i];
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
16
+ t[p] = s[p];
17
+ }
18
+ return t;
19
+ };
20
+ return __assign.apply(this, arguments);
21
+ };
22
+ exports.__esModule = true;
23
+ exports.httpie = void 0;
24
+ var code_builder_1 = require("../../../helpers/code-builder");
25
+ var shell_1 = require("../../../helpers/shell");
26
+ exports.httpie = {
27
+ info: {
28
+ key: 'httpie',
29
+ title: 'HTTPie',
30
+ link: 'http://httpie.org/',
31
+ description: 'a CLI, cURL-like tool for humans'
32
+ },
33
+ convert: function (_a, options) {
34
+ var allHeaders = _a.allHeaders, postData = _a.postData, queryObj = _a.queryObj, fullUrl = _a.fullUrl, method = _a.method, url = _a.url;
35
+ var opts = __assign({ body: false, cert: false, headers: false, indent: ' ', pretty: false, print: false, queryParams: false, short: false, style: false, timeout: false, verbose: false, verify: false }, options);
36
+ var _b = new code_builder_1.CodeBuilder({
37
+ indent: opts.indent,
38
+ // @ts-expect-error SEEMS LEGIT
39
+ join: opts.indent !== false ? " \\\n".concat(opts.indent) : ' '
40
+ }), push = _b.push, join = _b.join, unshift = _b.unshift;
41
+ var raw = false;
42
+ var flags = [];
43
+ if (opts.headers) {
44
+ flags.push(opts.short ? '-h' : '--headers');
45
+ }
46
+ if (opts.body) {
47
+ flags.push(opts.short ? '-b' : '--body');
48
+ }
49
+ if (opts.verbose) {
50
+ flags.push(opts.short ? '-v' : '--verbose');
51
+ }
52
+ if (opts.print) {
53
+ flags.push("".concat(opts.short ? '-p' : '--print', "=").concat(opts.print));
54
+ }
55
+ if (opts.verify) {
56
+ flags.push("--verify=".concat(opts.verify));
57
+ }
58
+ if (opts.cert) {
59
+ flags.push("--cert=".concat(opts.cert));
60
+ }
61
+ if (opts.pretty) {
62
+ flags.push("--pretty=".concat(opts.pretty));
63
+ }
64
+ if (opts.style) {
65
+ flags.push("--style=".concat(opts.style));
66
+ }
67
+ if (opts.timeout) {
68
+ flags.push("--timeout=".concat(opts.timeout));
69
+ }
70
+ // construct query params
71
+ if (opts.queryParams) {
72
+ Object.keys(queryObj).forEach(function (name) {
73
+ var value = queryObj[name];
74
+ if (Array.isArray(value)) {
75
+ value.forEach(function (val) {
76
+ push("".concat(name, "==").concat((0, shell_1.quote)(val)));
77
+ });
78
+ }
79
+ else {
80
+ push("".concat(name, "==").concat((0, shell_1.quote)(value)));
81
+ }
82
+ });
83
+ }
84
+ // construct headers
85
+ Object.keys(allHeaders)
86
+ .sort()
87
+ .forEach(function (key) {
88
+ push("".concat(key, ":").concat((0, shell_1.quote)(allHeaders[key])));
89
+ });
90
+ if (postData.mimeType === 'application/x-www-form-urlencoded') {
91
+ // construct post params
92
+ if (postData.params && postData.params.length) {
93
+ flags.push(opts.short ? '-f' : '--form');
94
+ postData.params.forEach(function (param) {
95
+ push("".concat(param.name, "=").concat((0, shell_1.quote)(param.value)));
96
+ });
97
+ }
98
+ }
99
+ else {
100
+ raw = true;
101
+ }
102
+ var cliFlags = flags.length ? "".concat(flags.join(' '), " ") : '';
103
+ url = (0, shell_1.quote)(opts.queryParams ? url : fullUrl);
104
+ unshift("http ".concat(cliFlags).concat(method, " ").concat(url));
105
+ if (raw && postData.text) {
106
+ var postDataText = (0, shell_1.quote)(postData.text);
107
+ unshift("echo ".concat(postDataText, " | "));
108
+ }
109
+ return join();
110
+ }
111
+ };
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.shell = void 0;
4
+ var client_1 = require("./curl/client");
5
+ var client_2 = require("./httpie/client");
6
+ var client_3 = require("./wget/client");
7
+ exports.shell = {
8
+ info: {
9
+ key: 'shell',
10
+ title: 'Shell',
11
+ extname: '.sh',
12
+ "default": 'curl',
13
+ cli: '%s'
14
+ },
15
+ clientsById: {
16
+ curl: client_1.curl,
17
+ httpie: client_2.httpie,
18
+ wget: client_3.wget
19
+ }
20
+ };
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ /**
3
+ * @description
4
+ * HTTP code snippet generator for the Shell using Wget.
5
+ *
6
+ * @author
7
+ * @AhmadNassri
8
+ *
9
+ * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author.
10
+ */
11
+ var __assign = (this && this.__assign) || function () {
12
+ __assign = Object.assign || function(t) {
13
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
14
+ s = arguments[i];
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
16
+ t[p] = s[p];
17
+ }
18
+ return t;
19
+ };
20
+ return __assign.apply(this, arguments);
21
+ };
22
+ exports.__esModule = true;
23
+ exports.wget = void 0;
24
+ var code_builder_1 = require("../../../helpers/code-builder");
25
+ var shell_1 = require("../../../helpers/shell");
26
+ exports.wget = {
27
+ info: {
28
+ key: 'wget',
29
+ title: 'Wget',
30
+ link: 'https://www.gnu.org/software/wget/',
31
+ description: 'a free software package for retrieving files using HTTP, HTTPS'
32
+ },
33
+ convert: function (_a, options) {
34
+ var method = _a.method, postData = _a.postData, allHeaders = _a.allHeaders, fullUrl = _a.fullUrl;
35
+ var opts = __assign({ indent: ' ', short: false, verbose: false }, options);
36
+ var _b = new code_builder_1.CodeBuilder(__assign(__assign({}, (typeof opts.indent === 'string' ? { indent: opts.indent } : {})), { join: opts.indent !== false ? " \\\n".concat(opts.indent) : ' ' })), push = _b.push, join = _b.join;
37
+ if (opts.verbose) {
38
+ push("wget ".concat(opts.short ? '-v' : '--verbose'));
39
+ }
40
+ else {
41
+ push("wget ".concat(opts.short ? '-q' : '--quiet'));
42
+ }
43
+ push("--method ".concat((0, shell_1.quote)(method)));
44
+ Object.keys(allHeaders).forEach(function (key) {
45
+ var header = "".concat(key, ": ").concat(allHeaders[key]);
46
+ push("--header ".concat((0, shell_1.quote)(header)));
47
+ });
48
+ if (postData.text) {
49
+ push("--body-data ".concat((0, shell_1.escape)((0, shell_1.quote)(postData.text))));
50
+ }
51
+ push(opts.short ? '-O' : '--output-document');
52
+ push("- ".concat((0, shell_1.quote)(fullUrl)));
53
+ return join();
54
+ }
55
+ };
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.literalRepresentation = exports.literalDeclaration = void 0;
4
+ /**
5
+ * Create an string of given length filled with blank spaces
6
+ *
7
+ * @param length Length of the array to return
8
+ * @param str String to pad out with
9
+ */
10
+ var buildString = function (length, str) { return str.repeat(length); };
11
+ /**
12
+ * Create a string corresponding to a Dictionary or Array literal representation with pretty option and indentation.
13
+ */
14
+ var concatArray = function (arr, pretty, indentation, indentLevel) {
15
+ var currentIndent = buildString(indentLevel, indentation);
16
+ var closingBraceIndent = buildString(indentLevel - 1, indentation);
17
+ var join = pretty ? ",\n".concat(currentIndent) : ', ';
18
+ if (pretty) {
19
+ return "[\n".concat(currentIndent).concat(arr.join(join), "\n").concat(closingBraceIndent, "]");
20
+ }
21
+ return "[".concat(arr.join(join), "]");
22
+ };
23
+ /**
24
+ * Create a string corresponding to a valid declaration and initialization of a Swift array or dictionary literal
25
+ *
26
+ * @param name Desired name of the instance
27
+ * @param parameters Key-value object of parameters to translate to a Swift object litearal
28
+ * @param opts Target options
29
+ * @return {string}
30
+ */
31
+ var literalDeclaration = function (name, parameters, opts) {
32
+ return "let ".concat(name, " = ").concat((0, exports.literalRepresentation)(parameters, opts));
33
+ };
34
+ exports.literalDeclaration = literalDeclaration;
35
+ /**
36
+ * Create a valid Swift string of a literal value according to its type.
37
+ *
38
+ * @param value Any JavaScript literal
39
+ * @param opts Target options
40
+ */
41
+ var literalRepresentation = function (value, opts, indentLevel) {
42
+ indentLevel = indentLevel === undefined ? 1 : indentLevel + 1;
43
+ switch (Object.prototype.toString.call(value)) {
44
+ case '[object Number]':
45
+ return value;
46
+ case '[object Array]': {
47
+ // Don't prettify arrays nto not take too much space
48
+ var pretty_1 = false;
49
+ var valuesRepresentation = value.map(function (v) {
50
+ // Switch to prettify if the value is a dictionary with multiple keys
51
+ if (Object.prototype.toString.call(v) === '[object Object]') {
52
+ pretty_1 = Object.keys(v).length > 1;
53
+ }
54
+ return (0, exports.literalRepresentation)(v, opts, indentLevel);
55
+ });
56
+ // @ts-expect-error needs better types
57
+ return concatArray(valuesRepresentation, pretty_1, opts.indent, indentLevel);
58
+ }
59
+ case '[object Object]': {
60
+ var keyValuePairs = [];
61
+ // eslint-disable-next-line guard-for-in, no-restricted-syntax
62
+ for (var key in value) {
63
+ keyValuePairs.push("\"".concat(key, "\": ").concat((0, exports.literalRepresentation)(value[key], opts, indentLevel)));
64
+ }
65
+ return concatArray(keyValuePairs,
66
+ // @ts-expect-error needs better types
67
+ opts.pretty && keyValuePairs.length > 1,
68
+ // @ts-expect-error needs better types
69
+ opts.indent, indentLevel);
70
+ }
71
+ case '[object Boolean]':
72
+ return value.toString();
73
+ default:
74
+ if (value === null || value === undefined) {
75
+ return '';
76
+ }
77
+ return "\"".concat(value.toString().replace(/"/g, '\\"'), "\"");
78
+ }
79
+ };
80
+ exports.literalRepresentation = literalRepresentation;