@scalar/snippetz 0.3.0 → 0.4.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.
Files changed (87) hide show
  1. package/README.md +1 -1
  2. package/dist/clients.d.ts.map +1 -1
  3. package/dist/clients.js +9 -1
  4. package/dist/clients.js.map +2 -2
  5. package/dist/plugins/python/httpx/async.d.ts +6 -0
  6. package/dist/plugins/python/httpx/async.d.ts.map +1 -0
  7. package/dist/plugins/python/httpx/async.js +16 -0
  8. package/dist/plugins/python/httpx/async.js.map +7 -0
  9. package/dist/plugins/python/httpx/index.d.ts +3 -0
  10. package/dist/plugins/python/httpx/index.d.ts.map +1 -0
  11. package/dist/plugins/python/httpx/index.js +3 -0
  12. package/dist/plugins/python/httpx/index.js.map +7 -0
  13. package/dist/plugins/python/httpx/sync.d.ts +6 -0
  14. package/dist/plugins/python/httpx/sync.d.ts.map +1 -0
  15. package/dist/plugins/python/httpx/sync.js +13 -0
  16. package/dist/plugins/python/httpx/sync.js.map +7 -0
  17. package/dist/plugins/python/requests/requests.d.ts.map +1 -1
  18. package/dist/plugins/python/requests/requests.js +2 -93
  19. package/dist/plugins/python/requests/requests.js.map +3 -3
  20. package/dist/plugins/python/requestsLike.d.ts +3 -0
  21. package/dist/plugins/python/requestsLike.d.ts.map +1 -0
  22. package/dist/plugins/python/requestsLike.js +120 -0
  23. package/dist/plugins/python/requestsLike.js.map +7 -0
  24. package/dist/plugins/rust/reqwest/index.d.ts +2 -0
  25. package/dist/plugins/rust/reqwest/index.d.ts.map +1 -0
  26. package/dist/plugins/rust/reqwest/index.js +2 -0
  27. package/dist/plugins/rust/reqwest/index.js.map +7 -0
  28. package/dist/plugins/rust/reqwest/reqwest.d.ts +6 -0
  29. package/dist/plugins/rust/reqwest/reqwest.d.ts.map +1 -0
  30. package/dist/plugins/rust/reqwest/reqwest.js +90 -0
  31. package/dist/plugins/rust/reqwest/reqwest.js.map +7 -0
  32. package/dist/plugins/rust/rustString.d.ts +9 -0
  33. package/dist/plugins/rust/rustString.d.ts.map +1 -0
  34. package/dist/plugins/rust/rustString.js +10 -0
  35. package/dist/plugins/rust/rustString.js.map +7 -0
  36. package/dist/plugins/shell/curl/curl.js +1 -1
  37. package/dist/plugins/shell/curl/curl.js.map +2 -2
  38. package/dist/snippetz.d.ts +2 -2
  39. package/dist/utils/convertWithHttpSnippetLite.d.ts +1 -1
  40. package/dist/utils/convertWithHttpSnippetLite.js.map +1 -1
  41. package/package.json +14 -4
  42. package/dist/plugins/c/libcurl/libcurl.test.js +0 -208
  43. package/dist/plugins/c/libcurl/libcurl.test.js.map +0 -7
  44. package/dist/plugins/clojure/clj_http/clj_http.test.js +0 -151
  45. package/dist/plugins/clojure/clj_http/clj_http.test.js.map +0 -7
  46. package/dist/plugins/dart/http/http.test.js +0 -550
  47. package/dist/plugins/dart/http/http.test.js.map +0 -7
  48. package/dist/plugins/go/native/native.test.js +0 -366
  49. package/dist/plugins/go/native/native.test.js.map +0 -7
  50. package/dist/plugins/http/http11/http11.test.js +0 -175
  51. package/dist/plugins/http/http11/http11.test.js.map +0 -7
  52. package/dist/plugins/java/okhttp/okhttp.test.js +0 -164
  53. package/dist/plugins/java/okhttp/okhttp.test.js.map +0 -7
  54. package/dist/plugins/js/fetch/fetch.test.js +0 -214
  55. package/dist/plugins/js/fetch/fetch.test.js.map +0 -7
  56. package/dist/plugins/js/ofetch/ofetch.test.js +0 -126
  57. package/dist/plugins/js/ofetch/ofetch.test.js.map +0 -7
  58. package/dist/plugins/kotlin/okhttp/okhttp.test.js +0 -164
  59. package/dist/plugins/kotlin/okhttp/okhttp.test.js.map +0 -7
  60. package/dist/plugins/node/fetch/fetch.test.js +0 -200
  61. package/dist/plugins/node/fetch/fetch.test.js.map +0 -7
  62. package/dist/plugins/node/ofetch/ofetch.test.js +0 -126
  63. package/dist/plugins/node/ofetch/ofetch.test.js.map +0 -7
  64. package/dist/plugins/node/undici/undici.test.js +0 -133
  65. package/dist/plugins/node/undici/undici.test.js.map +0 -7
  66. package/dist/plugins/php/curl/curl.test.js +0 -564
  67. package/dist/plugins/php/curl/curl.test.js.map +0 -7
  68. package/dist/plugins/php/guzzle/guzzle.test.js +0 -546
  69. package/dist/plugins/php/guzzle/guzzle.test.js.map +0 -7
  70. package/dist/plugins/python/requests/requests.test.js +0 -419
  71. package/dist/plugins/python/requests/requests.test.js.map +0 -7
  72. package/dist/plugins/ruby/native/native.test.js +0 -240
  73. package/dist/plugins/ruby/native/native.test.js.map +0 -7
  74. package/dist/plugins/shell/curl/curl.test.js +0 -427
  75. package/dist/plugins/shell/curl/curl.test.js.map +0 -7
  76. package/dist/plugins/shell/httpie/httpie.test.js +0 -113
  77. package/dist/plugins/shell/httpie/httpie.test.js.map +0 -7
  78. package/dist/plugins/shell/wget/wget.test.js +0 -143
  79. package/dist/plugins/shell/wget/wget.test.js.map +0 -7
  80. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js +0 -344
  81. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js.map +0 -7
  82. package/dist/snippetz.test.js +0 -79
  83. package/dist/snippetz.test.js.map +0 -7
  84. package/dist/utils/convertWithHttpSnippetLite.test.js +0 -106
  85. package/dist/utils/convertWithHttpSnippetLite.test.js.map +0 -7
  86. package/dist/utils/create-search-params.test.js +0 -49
  87. package/dist/utils/create-search-params.test.js.map +0 -7
@@ -1,546 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { phpGuzzle } from "./guzzle.js";
3
- describe("phpGuzzle", () => {
4
- it("returns a basic request", () => {
5
- const result = phpGuzzle.generate({
6
- url: "https://example.com"
7
- });
8
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
9
-
10
- $response = $client->request('GET', 'https://example.com');`);
11
- });
12
- it("returns a POST request", () => {
13
- const result = phpGuzzle.generate({
14
- url: "https://example.com",
15
- method: "post"
16
- });
17
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
18
-
19
- $response = $client->request('POST', 'https://example.com');`);
20
- });
21
- it("has headers", () => {
22
- const result = phpGuzzle.generate({
23
- url: "https://example.com",
24
- headers: [
25
- {
26
- name: "Content-Type",
27
- value: "application/json"
28
- }
29
- ]
30
- });
31
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
32
-
33
- $response = $client->request('GET', 'https://example.com', [
34
- 'headers' => [
35
- 'Content-Type' => 'application/json',
36
- ],
37
- ]);`);
38
- });
39
- it("doesn't add empty headers", () => {
40
- const result = phpGuzzle.generate({
41
- url: "https://example.com",
42
- headers: []
43
- });
44
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
45
-
46
- $response = $client->request('GET', 'https://example.com');`);
47
- });
48
- it("has JSON body with PHP array", () => {
49
- const result = phpGuzzle.generate({
50
- url: "https://example.com",
51
- method: "POST",
52
- headers: [
53
- {
54
- name: "Content-Type",
55
- value: "application/json"
56
- }
57
- ],
58
- postData: {
59
- mimeType: "application/json",
60
- text: JSON.stringify({
61
- hello: "world"
62
- })
63
- }
64
- });
65
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
66
-
67
- $response = $client->request('POST', 'https://example.com', [
68
- 'headers' => [
69
- 'Content-Type' => 'application/json',
70
- ],
71
- 'json' => [
72
- 'hello' => 'world',
73
- ],
74
- ]);`);
75
- });
76
- it("has query string", () => {
77
- const result = phpGuzzle.generate({
78
- url: "https://example.com",
79
- queryString: [
80
- {
81
- name: "foo",
82
- value: "bar"
83
- },
84
- {
85
- name: "bar",
86
- value: "foo"
87
- }
88
- ]
89
- });
90
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
91
-
92
- $response = $client->request('GET', 'https://example.com', [
93
- 'query' => [
94
- 'foo' => 'bar',
95
- 'bar' => 'foo',
96
- ],
97
- ]);`);
98
- });
99
- it("has cookies", () => {
100
- const result = phpGuzzle.generate({
101
- url: "https://example.com",
102
- cookies: [
103
- {
104
- name: "foo",
105
- value: "bar"
106
- },
107
- {
108
- name: "bar",
109
- value: "foo"
110
- }
111
- ]
112
- });
113
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
114
-
115
- $response = $client->request('GET', 'https://example.com', [
116
- 'cookies' => [
117
- 'foo' => 'bar',
118
- 'bar' => 'foo',
119
- ],
120
- ]);`);
121
- });
122
- it("doesn't add empty cookies", () => {
123
- const result = phpGuzzle.generate({
124
- url: "https://example.com",
125
- cookies: []
126
- });
127
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
128
-
129
- $response = $client->request('GET', 'https://example.com');`);
130
- });
131
- it("adds basic auth credentials", () => {
132
- const result = phpGuzzle.generate(
133
- {
134
- url: "https://example.com"
135
- },
136
- {
137
- auth: {
138
- username: "user",
139
- password: "pass"
140
- }
141
- }
142
- );
143
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
144
-
145
- $response = $client->request('GET', 'https://example.com', [
146
- 'auth' => [
147
- 'user',
148
- 'pass',
149
- ],
150
- ]);`);
151
- });
152
- it("omits auth when not provided", () => {
153
- const result = phpGuzzle.generate({
154
- url: "https://example.com"
155
- });
156
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
157
-
158
- $response = $client->request('GET', 'https://example.com');`);
159
- });
160
- it("omits auth when username is missing", () => {
161
- const result = phpGuzzle.generate(
162
- {
163
- url: "https://example.com"
164
- },
165
- {
166
- auth: {
167
- username: "",
168
- password: "pass"
169
- }
170
- }
171
- );
172
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
173
-
174
- $response = $client->request('GET', 'https://example.com');`);
175
- });
176
- it("omits auth when password is missing", () => {
177
- const result = phpGuzzle.generate(
178
- {
179
- url: "https://example.com"
180
- },
181
- {
182
- auth: {
183
- username: "user",
184
- password: ""
185
- }
186
- }
187
- );
188
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
189
-
190
- $response = $client->request('GET', 'https://example.com');`);
191
- });
192
- it("handles special characters in auth credentials", () => {
193
- const result = phpGuzzle.generate(
194
- {
195
- url: "https://example.com"
196
- },
197
- {
198
- auth: {
199
- username: "user@example.com",
200
- password: "pass:word!"
201
- }
202
- }
203
- );
204
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
205
-
206
- $response = $client->request('GET', 'https://example.com', [
207
- 'auth' => [
208
- 'user@example.com',
209
- 'pass:word!',
210
- ],
211
- ]);`);
212
- });
213
- it("handles undefined auth object", () => {
214
- const result = phpGuzzle.generate(
215
- {
216
- url: "https://example.com"
217
- },
218
- {
219
- auth: void 0
220
- }
221
- );
222
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
223
-
224
- $response = $client->request('GET', 'https://example.com');`);
225
- });
226
- it("handles multipart form data with files", () => {
227
- const result = phpGuzzle.generate({
228
- url: "https://example.com",
229
- method: "POST",
230
- postData: {
231
- mimeType: "multipart/form-data",
232
- params: [
233
- {
234
- name: "file",
235
- fileName: "test.txt"
236
- },
237
- {
238
- name: "field",
239
- value: "value"
240
- }
241
- ]
242
- }
243
- });
244
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
245
-
246
- $response = $client->request('POST', 'https://example.com', [
247
- 'multipart' => [
248
- [
249
- 'name' => 'file',
250
- 'contents' => fopen('test.txt', 'r'),
251
- ],
252
- [
253
- 'name' => 'field',
254
- 'contents' => 'value',
255
- ],
256
- ],
257
- ]);`);
258
- });
259
- it("handles multipart form data with JSON payload", () => {
260
- const result = phpGuzzle.generate({
261
- url: "https://example.com",
262
- method: "POST",
263
- headers: [
264
- {
265
- name: "Content-Type",
266
- value: "multipart/form-data"
267
- }
268
- ],
269
- postData: {
270
- mimeType: "multipart/form-data",
271
- text: JSON.stringify({
272
- foo: "bar"
273
- })
274
- }
275
- });
276
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
277
-
278
- $response = $client->request('POST', 'https://example.com', [
279
- 'headers' => [
280
- 'Content-Type' => 'multipart/form-data',
281
- ],
282
- 'form_params' => [
283
- 'foo' => 'bar',
284
- ],
285
- ]);`);
286
- });
287
- it("handles url-encoded form data with special characters", () => {
288
- const result = phpGuzzle.generate({
289
- url: "https://example.com",
290
- method: "POST",
291
- postData: {
292
- mimeType: "application/x-www-form-urlencoded",
293
- params: [
294
- {
295
- name: "special chars!@#",
296
- value: "value"
297
- }
298
- ]
299
- }
300
- });
301
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
302
-
303
- $response = $client->request('POST', 'https://example.com', [
304
- 'form_params' => [
305
- 'special chars!@#' => 'value',
306
- ],
307
- ]);`);
308
- });
309
- it("handles binary data flag", () => {
310
- const result = phpGuzzle.generate({
311
- url: "https://example.com",
312
- method: "POST",
313
- postData: {
314
- mimeType: "application/octet-stream",
315
- text: "binary content"
316
- }
317
- });
318
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
319
-
320
- $response = $client->request('POST', 'https://example.com', [
321
- 'body' => 'binary content',
322
- ]);`);
323
- });
324
- it("handles compressed response", () => {
325
- const result = phpGuzzle.generate({
326
- url: "https://example.com",
327
- headers: [
328
- {
329
- name: "Accept-Encoding",
330
- value: "gzip, deflate"
331
- }
332
- ]
333
- });
334
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
335
-
336
- $response = $client->request('GET', 'https://example.com', [
337
- 'headers' => [
338
- 'Accept-Encoding' => 'gzip, deflate',
339
- ],
340
- 'decode_content' => true,
341
- ]);`);
342
- });
343
- it("handles special characters in URL", () => {
344
- const result = phpGuzzle.generate({
345
- url: "https://example.com/path with spaces/[brackets]"
346
- });
347
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
348
-
349
- $response = $client->request('GET', 'https://example.com/path with spaces/[brackets]');`);
350
- });
351
- it("handles special characters in query parameters", () => {
352
- const result = phpGuzzle.generate({
353
- url: "https://example.com",
354
- queryString: [
355
- {
356
- name: "q",
357
- value: "hello world & more"
358
- },
359
- {
360
- name: "special",
361
- value: "!@#$%^&*()"
362
- }
363
- ]
364
- });
365
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
366
-
367
- $response = $client->request('GET', 'https://example.com', [
368
- 'query' => [
369
- 'q' => 'hello world & more',
370
- 'special' => '!@#$%^&*()',
371
- ],
372
- ]);`);
373
- });
374
- it("handles empty URL", () => {
375
- const result = phpGuzzle.generate({
376
- url: ""
377
- });
378
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
379
-
380
- $response = $client->request('GET', '');`);
381
- });
382
- it("handles extremely long URLs", () => {
383
- const result = phpGuzzle.generate({
384
- url: "https://example.com/" + "a".repeat(2e3)
385
- });
386
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
387
-
388
- $response = $client->request('GET', 'https://example.com/${"a".repeat(2e3)}');`);
389
- });
390
- it("handles multiple headers with same name", () => {
391
- const result = phpGuzzle.generate({
392
- url: "https://example.com",
393
- headers: [
394
- { name: "X-Custom", value: "value1" },
395
- { name: "X-Custom", value: "value2" }
396
- ]
397
- });
398
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
399
-
400
- $response = $client->request('GET', 'https://example.com', [
401
- 'headers' => [
402
- 'X-Custom' => [
403
- 'value1',
404
- 'value2',
405
- ],
406
- ],
407
- ]);`);
408
- });
409
- it("handles headers with empty values", () => {
410
- const result = phpGuzzle.generate({
411
- url: "https://example.com",
412
- headers: [{ name: "X-Empty", value: "" }]
413
- });
414
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
415
-
416
- $response = $client->request('GET', 'https://example.com', [
417
- 'headers' => [
418
- 'X-Empty' => '',
419
- ],
420
- ]);`);
421
- });
422
- it("handles multipart form data with empty file names", () => {
423
- const result = phpGuzzle.generate({
424
- url: "https://example.com",
425
- method: "POST",
426
- postData: {
427
- mimeType: "multipart/form-data",
428
- params: [
429
- {
430
- name: "file",
431
- fileName: ""
432
- }
433
- ]
434
- }
435
- });
436
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
437
-
438
- $response = $client->request('POST', 'https://example.com', [
439
- 'multipart' => [
440
- [
441
- 'name' => 'file',
442
- 'contents' => '',
443
- ],
444
- ],
445
- ]);`);
446
- });
447
- it("handles JSON body with special characters using PHP array", () => {
448
- const result = phpGuzzle.generate({
449
- url: "https://example.com",
450
- method: "POST",
451
- headers: [
452
- {
453
- name: "Content-Type",
454
- value: "application/json"
455
- }
456
- ],
457
- postData: {
458
- mimeType: "application/json",
459
- text: JSON.stringify({
460
- key: '"quotes" and \\backslashes\\',
461
- nested: {
462
- array: ["item1", null, void 0]
463
- }
464
- })
465
- }
466
- });
467
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
468
-
469
- $response = $client->request('POST', 'https://example.com', [
470
- 'headers' => [
471
- 'Content-Type' => 'application/json',
472
- ],
473
- 'json' => [
474
- 'key' => '"quotes" and \\backslashes\\',
475
- 'nested' => [
476
- 'array' => [
477
- 'item1',
478
- null,
479
- null,
480
- ],
481
- ],
482
- ],
483
- ]);`);
484
- });
485
- it("handles cookies with special characters", () => {
486
- const result = phpGuzzle.generate({
487
- url: "https://example.com",
488
- cookies: [
489
- {
490
- name: "special;cookie",
491
- value: "value with spaces"
492
- }
493
- ]
494
- });
495
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
496
-
497
- $response = $client->request('GET', 'https://example.com', [
498
- 'cookies' => [
499
- 'special;cookie' => 'value with spaces',
500
- ],
501
- ]);`);
502
- });
503
- it("prettifies JSON body using PHP array", () => {
504
- const result = phpGuzzle.generate({
505
- url: "https://example.com",
506
- method: "POST",
507
- headers: [
508
- {
509
- name: "Content-Type",
510
- value: "application/json"
511
- }
512
- ],
513
- postData: {
514
- mimeType: "application/json",
515
- text: JSON.stringify({
516
- nested: {
517
- array: [1, 2, 3],
518
- object: { foo: "bar" }
519
- },
520
- simple: "value"
521
- })
522
- }
523
- });
524
- expect(result).toBe(`$client = new GuzzleHttp\\Client();
525
-
526
- $response = $client->request('POST', 'https://example.com', [
527
- 'headers' => [
528
- 'Content-Type' => 'application/json',
529
- ],
530
- 'json' => [
531
- 'nested' => [
532
- 'array' => [
533
- 1,
534
- 2,
535
- 3,
536
- ],
537
- 'object' => [
538
- 'foo' => 'bar',
539
- ],
540
- ],
541
- 'simple' => 'value',
542
- ],
543
- ]);`);
544
- });
545
- });
546
- //# sourceMappingURL=guzzle.test.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/plugins/php/guzzle/guzzle.test.ts"],
4
- "sourcesContent": ["import { describe, expect, it } from 'vitest'\n\nimport { phpGuzzle } from './guzzle'\n\ndescribe('phpGuzzle', () => {\n it('returns a basic request', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('returns a POST request', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'post',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com');`)\n })\n\n it('has headers', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'application/json',\n ],\n]);`)\n })\n\n it(\"doesn't add empty headers\", () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('has JSON body with PHP array', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n postData: {\n mimeType: 'application/json',\n text: JSON.stringify({\n hello: 'world',\n }),\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'application/json',\n ],\n 'json' => [\n 'hello' => 'world',\n ],\n]);`)\n })\n\n it('has query string', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n queryString: [\n {\n name: 'foo',\n value: 'bar',\n },\n {\n name: 'bar',\n value: 'foo',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'query' => [\n 'foo' => 'bar',\n 'bar' => 'foo',\n ],\n]);`)\n })\n\n it('has cookies', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n cookies: [\n {\n name: 'foo',\n value: 'bar',\n },\n {\n name: 'bar',\n value: 'foo',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'cookies' => [\n 'foo' => 'bar',\n 'bar' => 'foo',\n ],\n]);`)\n })\n\n it(\"doesn't add empty cookies\", () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n cookies: [],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('adds basic auth credentials', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: 'user',\n password: 'pass',\n },\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'auth' => [\n 'user',\n 'pass',\n ],\n]);`)\n })\n\n it('omits auth when not provided', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('omits auth when username is missing', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: '',\n password: 'pass',\n },\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('omits auth when password is missing', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: 'user',\n password: '',\n },\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('handles special characters in auth credentials', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: {\n username: 'user@example.com',\n password: 'pass:word!',\n },\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'auth' => [\n 'user@example.com',\n 'pass:word!',\n ],\n]);`)\n })\n\n it('handles undefined auth object', () => {\n const result = phpGuzzle.generate(\n {\n url: 'https://example.com',\n },\n {\n auth: undefined,\n },\n )\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com');`)\n })\n\n it('handles multipart form data with files', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'multipart/form-data',\n params: [\n {\n name: 'file',\n fileName: 'test.txt',\n },\n {\n name: 'field',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'multipart' => [\n [\n 'name' => 'file',\n 'contents' => fopen('test.txt', 'r'),\n ],\n [\n 'name' => 'field',\n 'contents' => 'value',\n ],\n ],\n]);`)\n })\n\n it('handles multipart form data with JSON payload', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'multipart/form-data',\n },\n ],\n postData: {\n mimeType: 'multipart/form-data',\n text: JSON.stringify({\n foo: 'bar',\n }),\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'multipart/form-data',\n ],\n 'form_params' => [\n 'foo' => 'bar',\n ],\n]);`)\n })\n\n it('handles url-encoded form data with special characters', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/x-www-form-urlencoded',\n params: [\n {\n name: 'special chars!@#',\n value: 'value',\n },\n ],\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'form_params' => [\n 'special chars!@#' => 'value',\n ],\n]);`)\n })\n\n it('handles binary data flag', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'application/octet-stream',\n text: 'binary content',\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'body' => 'binary content',\n]);`)\n })\n\n it('handles compressed response', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [\n {\n name: 'Accept-Encoding',\n value: 'gzip, deflate',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'headers' => [\n 'Accept-Encoding' => 'gzip, deflate',\n ],\n 'decode_content' => true,\n]);`)\n })\n\n it('handles special characters in URL', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com/path with spaces/[brackets]',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com/path with spaces/[brackets]');`)\n })\n\n it('handles special characters in query parameters', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n queryString: [\n {\n name: 'q',\n value: 'hello world & more',\n },\n {\n name: 'special',\n value: '!@#$%^&*()',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'query' => [\n 'q' => 'hello world & more',\n 'special' => '!@#$%^&*()',\n ],\n]);`)\n })\n\n it('handles empty URL', () => {\n const result = phpGuzzle.generate({\n url: '',\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', '');`)\n })\n\n it('handles extremely long URLs', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com/' + 'a'.repeat(2000),\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com/${'a'.repeat(2000)}');`)\n })\n\n it('handles multiple headers with same name', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [\n { name: 'X-Custom', value: 'value1' },\n { name: 'X-Custom', value: 'value2' },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'headers' => [\n 'X-Custom' => [\n 'value1',\n 'value2',\n ],\n ],\n]);`)\n })\n\n it('handles headers with empty values', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n headers: [{ name: 'X-Empty', value: '' }],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'headers' => [\n 'X-Empty' => '',\n ],\n]);`)\n })\n\n it('handles multipart form data with empty file names', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n postData: {\n mimeType: 'multipart/form-data',\n params: [\n {\n name: 'file',\n fileName: '',\n },\n ],\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'multipart' => [\n [\n 'name' => 'file',\n 'contents' => '',\n ],\n ],\n]);`)\n })\n\n it('handles JSON body with special characters using PHP array', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n postData: {\n mimeType: 'application/json',\n text: JSON.stringify({\n key: '\"quotes\" and \\\\backslashes\\\\',\n nested: {\n array: ['item1', null, undefined],\n },\n }),\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'application/json',\n ],\n 'json' => [\n 'key' => '\"quotes\" and \\\\backslashes\\\\',\n 'nested' => [\n 'array' => [\n 'item1',\n null,\n null,\n ],\n ],\n ],\n]);`)\n })\n\n it('handles cookies with special characters', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n cookies: [\n {\n name: 'special;cookie',\n value: 'value with spaces',\n },\n ],\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('GET', 'https://example.com', [\n 'cookies' => [\n 'special;cookie' => 'value with spaces',\n ],\n]);`)\n })\n\n it('prettifies JSON body using PHP array', () => {\n const result = phpGuzzle.generate({\n url: 'https://example.com',\n method: 'POST',\n headers: [\n {\n name: 'Content-Type',\n value: 'application/json',\n },\n ],\n postData: {\n mimeType: 'application/json',\n text: JSON.stringify({\n nested: {\n array: [1, 2, 3],\n object: { foo: 'bar' },\n },\n simple: 'value',\n }),\n },\n })\n\n expect(result).toBe(`$client = new GuzzleHttp\\\\Client();\n\n$response = $client->request('POST', 'https://example.com', [\n 'headers' => [\n 'Content-Type' => 'application/json',\n ],\n 'json' => [\n 'nested' => [\n 'array' => [\n 1,\n 2,\n 3,\n ],\n 'object' => [\n 'foo' => 'bar',\n ],\n ],\n 'simple' => 'value',\n ],\n]);`)\n })\n})\n"],
5
- "mappings": "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",
6
- "names": []
7
- }