@scalar/snippetz 0.3.0 → 0.3.1

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 (70) hide show
  1. package/dist/clients.d.ts.map +1 -1
  2. package/dist/clients.js +2 -1
  3. package/dist/clients.js.map +2 -2
  4. package/dist/plugins/python/httpx/async.d.ts +6 -0
  5. package/dist/plugins/python/httpx/async.d.ts.map +1 -0
  6. package/dist/plugins/python/httpx/async.js +16 -0
  7. package/dist/plugins/python/httpx/async.js.map +7 -0
  8. package/dist/plugins/python/httpx/index.d.ts +3 -0
  9. package/dist/plugins/python/httpx/index.d.ts.map +1 -0
  10. package/dist/plugins/python/httpx/index.js +3 -0
  11. package/dist/plugins/python/httpx/index.js.map +7 -0
  12. package/dist/plugins/python/httpx/sync.d.ts +6 -0
  13. package/dist/plugins/python/httpx/sync.d.ts.map +1 -0
  14. package/dist/plugins/python/httpx/sync.js +13 -0
  15. package/dist/plugins/python/httpx/sync.js.map +7 -0
  16. package/dist/plugins/python/requests/requests.d.ts.map +1 -1
  17. package/dist/plugins/python/requests/requests.js +2 -93
  18. package/dist/plugins/python/requests/requests.js.map +3 -3
  19. package/dist/plugins/python/requestsLike.d.ts +3 -0
  20. package/dist/plugins/python/requestsLike.d.ts.map +1 -0
  21. package/dist/plugins/python/requestsLike.js +120 -0
  22. package/dist/plugins/python/requestsLike.js.map +7 -0
  23. package/dist/snippetz.d.ts +1 -1
  24. package/package.json +8 -3
  25. package/dist/plugins/c/libcurl/libcurl.test.js +0 -208
  26. package/dist/plugins/c/libcurl/libcurl.test.js.map +0 -7
  27. package/dist/plugins/clojure/clj_http/clj_http.test.js +0 -151
  28. package/dist/plugins/clojure/clj_http/clj_http.test.js.map +0 -7
  29. package/dist/plugins/dart/http/http.test.js +0 -550
  30. package/dist/plugins/dart/http/http.test.js.map +0 -7
  31. package/dist/plugins/go/native/native.test.js +0 -366
  32. package/dist/plugins/go/native/native.test.js.map +0 -7
  33. package/dist/plugins/http/http11/http11.test.js +0 -175
  34. package/dist/plugins/http/http11/http11.test.js.map +0 -7
  35. package/dist/plugins/java/okhttp/okhttp.test.js +0 -164
  36. package/dist/plugins/java/okhttp/okhttp.test.js.map +0 -7
  37. package/dist/plugins/js/fetch/fetch.test.js +0 -214
  38. package/dist/plugins/js/fetch/fetch.test.js.map +0 -7
  39. package/dist/plugins/js/ofetch/ofetch.test.js +0 -126
  40. package/dist/plugins/js/ofetch/ofetch.test.js.map +0 -7
  41. package/dist/plugins/kotlin/okhttp/okhttp.test.js +0 -164
  42. package/dist/plugins/kotlin/okhttp/okhttp.test.js.map +0 -7
  43. package/dist/plugins/node/fetch/fetch.test.js +0 -200
  44. package/dist/plugins/node/fetch/fetch.test.js.map +0 -7
  45. package/dist/plugins/node/ofetch/ofetch.test.js +0 -126
  46. package/dist/plugins/node/ofetch/ofetch.test.js.map +0 -7
  47. package/dist/plugins/node/undici/undici.test.js +0 -133
  48. package/dist/plugins/node/undici/undici.test.js.map +0 -7
  49. package/dist/plugins/php/curl/curl.test.js +0 -564
  50. package/dist/plugins/php/curl/curl.test.js.map +0 -7
  51. package/dist/plugins/php/guzzle/guzzle.test.js +0 -546
  52. package/dist/plugins/php/guzzle/guzzle.test.js.map +0 -7
  53. package/dist/plugins/python/requests/requests.test.js +0 -419
  54. package/dist/plugins/python/requests/requests.test.js.map +0 -7
  55. package/dist/plugins/ruby/native/native.test.js +0 -240
  56. package/dist/plugins/ruby/native/native.test.js.map +0 -7
  57. package/dist/plugins/shell/curl/curl.test.js +0 -427
  58. package/dist/plugins/shell/curl/curl.test.js.map +0 -7
  59. package/dist/plugins/shell/httpie/httpie.test.js +0 -113
  60. package/dist/plugins/shell/httpie/httpie.test.js.map +0 -7
  61. package/dist/plugins/shell/wget/wget.test.js +0 -143
  62. package/dist/plugins/shell/wget/wget.test.js.map +0 -7
  63. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js +0 -344
  64. package/dist/plugins/swift/nsurlsession/nsurlsession.test.js.map +0 -7
  65. package/dist/snippetz.test.js +0 -79
  66. package/dist/snippetz.test.js.map +0 -7
  67. package/dist/utils/convertWithHttpSnippetLite.test.js +0 -106
  68. package/dist/utils/convertWithHttpSnippetLite.test.js.map +0 -7
  69. package/dist/utils/create-search-params.test.js +0 -49
  70. 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
- }