@effect/platform 0.48.15 → 0.48.16

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 (85) hide show
  1. package/Http/Cookies/package.json +6 -0
  2. package/README.md +235 -46
  3. package/dist/cjs/Http/Client.js +6 -1
  4. package/dist/cjs/Http/Client.js.map +1 -1
  5. package/dist/cjs/Http/ClientResponse.js.map +1 -1
  6. package/dist/cjs/Http/Cookies.js +543 -0
  7. package/dist/cjs/Http/Cookies.js.map +1 -0
  8. package/dist/cjs/Http/Headers.js +2 -2
  9. package/dist/cjs/Http/Headers.js.map +1 -1
  10. package/dist/cjs/Http/ServerRequest.js.map +1 -1
  11. package/dist/cjs/Http/ServerResponse.js +36 -1
  12. package/dist/cjs/Http/ServerResponse.js.map +1 -1
  13. package/dist/cjs/HttpClient.js +3 -1
  14. package/dist/cjs/HttpClient.js.map +1 -1
  15. package/dist/cjs/HttpServer.js +3 -1
  16. package/dist/cjs/HttpServer.js.map +1 -1
  17. package/dist/cjs/internal/http/client.js +5 -1
  18. package/dist/cjs/internal/http/client.js.map +1 -1
  19. package/dist/cjs/internal/http/clientResponse.js +8 -0
  20. package/dist/cjs/internal/http/clientResponse.js.map +1 -1
  21. package/dist/cjs/internal/http/serverRequest.js +8 -0
  22. package/dist/cjs/internal/http/serverRequest.js.map +1 -1
  23. package/dist/cjs/internal/http/serverResponse.js +33 -16
  24. package/dist/cjs/internal/http/serverResponse.js.map +1 -1
  25. package/dist/dts/Error.d.ts.map +1 -1
  26. package/dist/dts/Http/App.d.ts +1 -1
  27. package/dist/dts/Http/App.d.ts.map +1 -1
  28. package/dist/dts/Http/Client.d.ts +10 -0
  29. package/dist/dts/Http/Client.d.ts.map +1 -1
  30. package/dist/dts/Http/ClientResponse.d.ts +2 -0
  31. package/dist/dts/Http/ClientResponse.d.ts.map +1 -1
  32. package/dist/dts/Http/Cookies.d.ts +245 -0
  33. package/dist/dts/Http/Cookies.d.ts.map +1 -0
  34. package/dist/dts/Http/Headers.d.ts +2 -2
  35. package/dist/dts/Http/Headers.d.ts.map +1 -1
  36. package/dist/dts/Http/IncomingMessage.d.ts +2 -2
  37. package/dist/dts/Http/IncomingMessage.d.ts.map +1 -1
  38. package/dist/dts/Http/ServerRequest.d.ts +2 -0
  39. package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
  40. package/dist/dts/Http/ServerResponse.d.ts +75 -0
  41. package/dist/dts/Http/ServerResponse.d.ts.map +1 -1
  42. package/dist/dts/Http/UrlParams.d.ts +1 -1
  43. package/dist/dts/Http/UrlParams.d.ts.map +1 -1
  44. package/dist/dts/HttpClient.d.ts +8 -0
  45. package/dist/dts/HttpClient.d.ts.map +1 -1
  46. package/dist/dts/HttpServer.d.ts +8 -0
  47. package/dist/dts/HttpServer.d.ts.map +1 -1
  48. package/dist/dts/Socket.d.ts +3 -3
  49. package/dist/dts/Socket.d.ts.map +1 -1
  50. package/dist/dts/internal/http/router.d.ts.map +1 -1
  51. package/dist/esm/Http/Client.js +5 -0
  52. package/dist/esm/Http/Client.js.map +1 -1
  53. package/dist/esm/Http/ClientResponse.js.map +1 -1
  54. package/dist/esm/Http/Cookies.js +496 -0
  55. package/dist/esm/Http/Cookies.js.map +1 -0
  56. package/dist/esm/Http/Headers.js +2 -2
  57. package/dist/esm/Http/Headers.js.map +1 -1
  58. package/dist/esm/Http/ServerRequest.js.map +1 -1
  59. package/dist/esm/Http/ServerResponse.js +35 -0
  60. package/dist/esm/Http/ServerResponse.js.map +1 -1
  61. package/dist/esm/HttpClient.js +8 -0
  62. package/dist/esm/HttpClient.js.map +1 -1
  63. package/dist/esm/HttpServer.js +8 -0
  64. package/dist/esm/HttpServer.js.map +1 -1
  65. package/dist/esm/internal/http/client.js +4 -0
  66. package/dist/esm/internal/http/client.js.map +1 -1
  67. package/dist/esm/internal/http/clientResponse.js +8 -0
  68. package/dist/esm/internal/http/clientResponse.js.map +1 -1
  69. package/dist/esm/internal/http/serverRequest.js +8 -0
  70. package/dist/esm/internal/http/serverRequest.js.map +1 -1
  71. package/dist/esm/internal/http/serverResponse.js +32 -15
  72. package/dist/esm/internal/http/serverResponse.js.map +1 -1
  73. package/package.json +12 -4
  74. package/src/Http/Client.ts +11 -0
  75. package/src/Http/ClientResponse.ts +2 -0
  76. package/src/Http/Cookies.ts +695 -0
  77. package/src/Http/Headers.ts +16 -8
  78. package/src/Http/ServerRequest.ts +2 -0
  79. package/src/Http/ServerResponse.ts +126 -0
  80. package/src/HttpClient.ts +8 -0
  81. package/src/HttpServer.ts +8 -0
  82. package/src/internal/http/client.ts +35 -0
  83. package/src/internal/http/clientResponse.ts +9 -0
  84. package/src/internal/http/serverRequest.ts +10 -0
  85. package/src/internal/http/serverResponse.ts +162 -0
@@ -0,0 +1,496 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ import * as Duration from "effect/Duration";
5
+ import * as Either from "effect/Either";
6
+ import { dual } from "effect/Function";
7
+ import * as Inspectable from "effect/Inspectable";
8
+ import * as Option from "effect/Option";
9
+ import { pipeArguments } from "effect/Pipeable";
10
+ import * as Predicate from "effect/Predicate";
11
+ import * as ReadonlyArray from "effect/ReadonlyArray";
12
+ import { TypeIdError } from "../Error.js";
13
+ /**
14
+ * @since 1.0.0
15
+ * @category type ids
16
+ */
17
+ export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Cookies");
18
+ /**
19
+ * @since 1.0.0
20
+ * @category refinements
21
+ */
22
+ export const isCookies = u => Predicate.hasProperty(u, TypeId);
23
+ /**
24
+ * @since 1.0.0
25
+ * @category type ids
26
+ */
27
+ export const CookieTypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Cookies/Cookie");
28
+ /**
29
+ * @since 1.0.0
30
+ * @category type ids
31
+ */
32
+ export const ErrorTypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/Cookies/CookieError");
33
+ /**
34
+ * @since 1.0.0
35
+ * @category errors
36
+ */
37
+ export class CookiesError extends TypeIdError(ErrorTypeId, "CookieError") {
38
+ get message() {
39
+ return this.reason;
40
+ }
41
+ }
42
+ const Proto = {
43
+ [TypeId]: TypeId,
44
+ ...Inspectable.BaseProto,
45
+ toJSON() {
46
+ return {
47
+ _id: "@effect/platform/Http/Cookies",
48
+ cookies: this.cookies.map(cookie => cookie.toJSON())
49
+ };
50
+ },
51
+ pipe() {
52
+ return pipeArguments(this, arguments);
53
+ }
54
+ };
55
+ /**
56
+ * Create a Cookies object from an Iterable
57
+ *
58
+ * @since 1.0.0
59
+ * @category constructors
60
+ */
61
+ export const fromIterable = cookies => {
62
+ const self = Object.create(Proto);
63
+ self.cookies = ReadonlyArray.fromIterable(cookies);
64
+ return self;
65
+ };
66
+ /**
67
+ * Create a Cookies object from a set of Set-Cookie headers
68
+ *
69
+ * @since 1.0.0
70
+ * @category constructors
71
+ */
72
+ export const fromSetCookie = headers => {
73
+ const arrayHeaders = typeof headers === "string" ? [headers] : headers;
74
+ const cookies = [];
75
+ for (const header of arrayHeaders) {
76
+ const cookie = parseSetCookie(header.trim());
77
+ if (Option.isSome(cookie)) {
78
+ cookies.push(cookie.value);
79
+ }
80
+ }
81
+ return fromIterable(cookies);
82
+ };
83
+ function parseSetCookie(header) {
84
+ const parts = header.split(";").map(_ => _.trim()).filter(_ => _ !== "");
85
+ if (parts.length === 0) {
86
+ return Option.none();
87
+ }
88
+ const firstEqual = parts[0].indexOf("=");
89
+ if (firstEqual === -1) {
90
+ return Option.none();
91
+ }
92
+ const name = parts[0].slice(0, firstEqual);
93
+ if (!fieldContentRegExp.test(name)) {
94
+ return Option.none();
95
+ }
96
+ const valueEncoded = parts[0].slice(firstEqual + 1);
97
+ const value = tryDecodeURIComponent(valueEncoded);
98
+ if (parts.length === 1) {
99
+ return Option.some(Object.assign(Object.create(CookieProto), {
100
+ name,
101
+ value,
102
+ valueEncoded
103
+ }));
104
+ }
105
+ const options = {};
106
+ for (let i = 1; i < parts.length; i++) {
107
+ const part = parts[i];
108
+ const equalIndex = part.indexOf("=");
109
+ const key = equalIndex === -1 ? part : part.slice(0, equalIndex).trim();
110
+ const value = equalIndex === -1 ? undefined : part.slice(equalIndex + 1).trim();
111
+ switch (key.toLowerCase()) {
112
+ case "domain":
113
+ {
114
+ if (value === undefined) {
115
+ break;
116
+ }
117
+ const domain = value.trim().replace(/^\./, "");
118
+ if (domain) {
119
+ options.domain = domain;
120
+ }
121
+ break;
122
+ }
123
+ case "expires":
124
+ {
125
+ if (value === undefined) {
126
+ break;
127
+ }
128
+ const date = new Date(value);
129
+ if (!isNaN(date.getTime())) {
130
+ options.expires = date;
131
+ }
132
+ break;
133
+ }
134
+ case "max-age":
135
+ {
136
+ if (value === undefined) {
137
+ break;
138
+ }
139
+ const maxAge = parseInt(value, 10);
140
+ if (!isNaN(maxAge)) {
141
+ options.maxAge = Duration.seconds(maxAge);
142
+ }
143
+ break;
144
+ }
145
+ case "path":
146
+ {
147
+ if (value === undefined) {
148
+ break;
149
+ }
150
+ if (value[0] === "/") {
151
+ options.path = value;
152
+ }
153
+ break;
154
+ }
155
+ case "priority":
156
+ {
157
+ if (value === undefined) {
158
+ break;
159
+ }
160
+ switch (value.toLowerCase()) {
161
+ case "low":
162
+ options.priority = "low";
163
+ break;
164
+ case "medium":
165
+ options.priority = "medium";
166
+ break;
167
+ case "high":
168
+ options.priority = "high";
169
+ break;
170
+ }
171
+ break;
172
+ }
173
+ case "httponly":
174
+ {
175
+ options.httpOnly = true;
176
+ break;
177
+ }
178
+ case "secure":
179
+ {
180
+ options.secure = true;
181
+ break;
182
+ }
183
+ case "partitioned":
184
+ {
185
+ options.partitioned = true;
186
+ break;
187
+ }
188
+ case "samesite":
189
+ {
190
+ if (value === undefined) {
191
+ break;
192
+ }
193
+ switch (value.toLowerCase()) {
194
+ case "lax":
195
+ options.sameSite = "lax";
196
+ break;
197
+ case "strict":
198
+ options.sameSite = "strict";
199
+ break;
200
+ case "none":
201
+ options.sameSite = "none";
202
+ break;
203
+ }
204
+ break;
205
+ }
206
+ }
207
+ }
208
+ return Option.some(Object.assign(Object.create(CookieProto), {
209
+ name,
210
+ value,
211
+ valueEncoded,
212
+ options: Object.keys(options).length > 0 ? options : undefined
213
+ }));
214
+ }
215
+ /**
216
+ * An empty Cookies object
217
+ *
218
+ * @since 1.0.0
219
+ * @category constructors
220
+ */
221
+ export const empty = /*#__PURE__*/fromIterable([]);
222
+ /**
223
+ * @since 1.0.0
224
+ * @category refinements
225
+ */
226
+ export const isEmpty = self => self.cookies.length === 0;
227
+ // eslint-disable-next-line no-control-regex
228
+ const fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;
229
+ const CookieProto = {
230
+ [CookieTypeId]: CookieTypeId,
231
+ ...Inspectable.BaseProto,
232
+ toJSON() {
233
+ return {
234
+ _id: "@effect/platform/Http/Cookies/Cookie",
235
+ name: this.name,
236
+ value: this.value,
237
+ options: this.options
238
+ };
239
+ }
240
+ };
241
+ /**
242
+ * Create a new cookie
243
+ *
244
+ * @since 1.0.0
245
+ * @category constructors
246
+ */
247
+ export function makeCookie(name, value, options) {
248
+ if (!fieldContentRegExp.test(name)) {
249
+ return Either.left(new CookiesError({
250
+ reason: "InvalidName"
251
+ }));
252
+ }
253
+ const encodedValue = encodeURIComponent(value);
254
+ if (encodedValue && !fieldContentRegExp.test(encodedValue)) {
255
+ return Either.left(new CookiesError({
256
+ reason: "InvalidValue"
257
+ }));
258
+ }
259
+ if (options !== undefined) {
260
+ if (options.domain !== undefined && !fieldContentRegExp.test(options.domain)) {
261
+ return Either.left(new CookiesError({
262
+ reason: "InvalidDomain"
263
+ }));
264
+ }
265
+ if (options.path !== undefined && !fieldContentRegExp.test(options.path)) {
266
+ return Either.left(new CookiesError({
267
+ reason: "InvalidPath"
268
+ }));
269
+ }
270
+ if (options.maxAge !== undefined && !Duration.isFinite(Duration.decode(options.maxAge))) {
271
+ return Either.left(new CookiesError({
272
+ reason: "InfinityMaxAge"
273
+ }));
274
+ }
275
+ }
276
+ return Either.right(Object.assign(Object.create(CookieProto), {
277
+ name,
278
+ value,
279
+ valueEncoded: encodedValue,
280
+ options
281
+ }));
282
+ }
283
+ /**
284
+ * Create a new cookie, throwing an error if invalid
285
+ *
286
+ * @since 1.0.0
287
+ * @category constructors
288
+ */
289
+ export const unsafeMakeCookie = (name, value, options) => Either.getOrThrow(makeCookie(name, value, options));
290
+ /**
291
+ * Add a cookie to a Cookies object
292
+ *
293
+ * @since 1.0.0
294
+ * @category combinators
295
+ */
296
+ export const append = /*#__PURE__*/dual(2, (self, cookie) => fromIterable([...self.cookies, cookie]));
297
+ /**
298
+ * Add multiple cookies to a Cookies object
299
+ *
300
+ * @since 1.0.0
301
+ * @category combinators
302
+ */
303
+ export const appendAll = /*#__PURE__*/dual(2, (self, cookies) => fromIterable(ReadonlyArray.appendAll(self.cookies, cookies)));
304
+ /**
305
+ * Combine two Cookies objects, removing duplicates from the first
306
+ *
307
+ * @since 1.0.0
308
+ * @category combinators
309
+ */
310
+ export const merge = /*#__PURE__*/dual(2, (self, that) => {
311
+ const cookies = self.cookies.filter(c => !that.cookies.some(c2 => c2.name === c.name));
312
+ // eslint-disable-next-line no-restricted-syntax
313
+ cookies.push(...that.cookies);
314
+ return fromIterable(cookies);
315
+ });
316
+ /**
317
+ * Remove a cookie by name
318
+ *
319
+ * @since 1.0.0
320
+ * @category combinators
321
+ */
322
+ export const remove = /*#__PURE__*/dual(2, (self, cookie) => fromIterable(self.cookies.filter(c => c.name !== cookie.name)));
323
+ /**
324
+ * Add a cookie to a Cookies object
325
+ *
326
+ * @since 1.0.0
327
+ * @category combinators
328
+ */
329
+ export const add = /*#__PURE__*/dual(args => isCookies(args[0]), (self, name, value, options) => Either.map(makeCookie(name, value, options), cookie => fromIterable([...self.cookies, cookie])));
330
+ /**
331
+ * Add a cookie to a Cookies object
332
+ *
333
+ * @since 1.0.0
334
+ * @category combinators
335
+ */
336
+ export const unsafeAdd = /*#__PURE__*/dual(args => isCookies(args[0]), (self, name, value, options) => append(self, unsafeMakeCookie(name, value, options)));
337
+ /**
338
+ * Add multiple cookies to a Cookies object
339
+ *
340
+ * @since 1.0.0
341
+ * @category combinators
342
+ */
343
+ export const addAll = /*#__PURE__*/dual(2, (self, cookies) => {
344
+ const toAdd = [];
345
+ for (const [name, value, options] of cookies) {
346
+ const either = makeCookie(name, value, options);
347
+ if (Either.isLeft(either)) {
348
+ return either;
349
+ }
350
+ toAdd.push(either.right);
351
+ }
352
+ return Either.right(appendAll(self, toAdd));
353
+ });
354
+ /**
355
+ * Add multiple cookies to a Cookies object, throwing an error if invalid
356
+ *
357
+ * @since 1.0.0
358
+ * @category combinators
359
+ */
360
+ export const unsafeAddAll = /*#__PURE__*/dual(2, (self, cookies) => Either.getOrThrow(addAll(self, cookies)));
361
+ /**
362
+ * Serialize a cookie into a string
363
+ *
364
+ * Adapted from https://github.com/fastify/fastify-cookie under MIT License
365
+ *
366
+ * @since 1.0.0
367
+ * @category encoding
368
+ */
369
+ export function serializeCookie(self) {
370
+ let str = self.name + "=" + self.valueEncoded;
371
+ if (self.options === undefined) {
372
+ return str;
373
+ }
374
+ const options = self.options;
375
+ if (options.maxAge !== undefined) {
376
+ const maxAge = Duration.toSeconds(options.maxAge);
377
+ str += "; Max-Age=" + Math.trunc(maxAge);
378
+ }
379
+ if (options.domain !== undefined) {
380
+ str += "; Domain=" + options.domain;
381
+ }
382
+ if (options.path !== undefined) {
383
+ str += "; Path=" + options.path;
384
+ }
385
+ if (options.priority !== undefined) {
386
+ switch (options.priority) {
387
+ case "low":
388
+ str += "; Priority=Low";
389
+ break;
390
+ case "medium":
391
+ str += "; Priority=Medium";
392
+ break;
393
+ case "high":
394
+ str += "; Priority=High";
395
+ break;
396
+ }
397
+ }
398
+ if (options.expires !== undefined) {
399
+ str += "; Expires=" + options.expires.toUTCString();
400
+ }
401
+ if (options.httpOnly) {
402
+ str += "; HttpOnly";
403
+ }
404
+ if (options.secure) {
405
+ str += "; Secure";
406
+ }
407
+ // Draft implementation to support Chrome from 2024-Q1 forward.
408
+ // See https://datatracker.ietf.org/doc/html/draft-cutler-httpbis-partitioned-cookies#section-2.1
409
+ if (options.partitioned) {
410
+ str += "; Partitioned";
411
+ }
412
+ if (options.sameSite !== undefined) {
413
+ switch (options.sameSite) {
414
+ case "lax":
415
+ str += "; SameSite=Lax";
416
+ break;
417
+ case "strict":
418
+ str += "; SameSite=Strict";
419
+ break;
420
+ case "none":
421
+ str += "; SameSite=None";
422
+ break;
423
+ }
424
+ }
425
+ return str;
426
+ }
427
+ /**
428
+ * Serialize a Cookies object into a Cookie header
429
+ *
430
+ * @since 1.0.0
431
+ * @category encoding
432
+ */
433
+ export const toCookieHeader = self => self.cookies.map(cookie => `${cookie.name}=${cookie.valueEncoded}`).join("; ");
434
+ /**
435
+ * To record
436
+ *
437
+ * @since 1.0.0
438
+ * @category encoding
439
+ */
440
+ export const toRecord = self => {
441
+ const record = {};
442
+ for (let index = 0; index < self.cookies.length; index++) {
443
+ const cookie = self.cookies[index];
444
+ record[cookie.name] = cookie.value;
445
+ }
446
+ return record;
447
+ };
448
+ /**
449
+ * Serialize a Cookies object into Headers object containing one or more Set-Cookie headers
450
+ *
451
+ * @since 1.0.0
452
+ * @category encoding
453
+ */
454
+ export const toSetCookieHeaders = self => self.cookies.map(serializeCookie);
455
+ /**
456
+ * Parse a cookie header into a record of key-value pairs
457
+ *
458
+ * Adapted from https://github.com/fastify/fastify-cookie under MIT License
459
+ *
460
+ * @since 1.0.0
461
+ * @category decoding
462
+ */
463
+ export function parseHeader(header) {
464
+ const result = {};
465
+ const strLen = header.length;
466
+ let pos = 0;
467
+ let terminatorPos = 0;
468
+ // eslint-disable-next-line no-constant-condition
469
+ while (true) {
470
+ if (terminatorPos === strLen) break;
471
+ terminatorPos = header.indexOf(";", pos);
472
+ if (terminatorPos === -1) terminatorPos = strLen; // This is the last pair
473
+ let eqIdx = header.indexOf("=", pos);
474
+ if (eqIdx === -1) break; // No key-value pairs left
475
+ if (eqIdx > terminatorPos) {
476
+ // Malformed key-value pair
477
+ pos = terminatorPos + 1;
478
+ continue;
479
+ }
480
+ const key = header.substring(pos, eqIdx++).trim();
481
+ if (result[key] === undefined) {
482
+ const val = header.charCodeAt(eqIdx) === 0x22 ? header.substring(eqIdx + 1, terminatorPos - 1).trim() : header.substring(eqIdx, terminatorPos).trim();
483
+ result[key] = !(val.indexOf("%") === -1) ? tryDecodeURIComponent(val) : val;
484
+ }
485
+ pos = terminatorPos + 1;
486
+ }
487
+ return result;
488
+ }
489
+ const tryDecodeURIComponent = str => {
490
+ try {
491
+ return decodeURIComponent(str);
492
+ } catch (_) {
493
+ return str;
494
+ }
495
+ };
496
+ //# sourceMappingURL=Cookies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cookies.js","names":["Duration","Either","dual","Inspectable","Option","pipeArguments","Predicate","ReadonlyArray","TypeIdError","TypeId","Symbol","for","isCookies","u","hasProperty","CookieTypeId","ErrorTypeId","CookiesError","message","reason","Proto","BaseProto","toJSON","_id","cookies","map","cookie","pipe","arguments","fromIterable","self","Object","create","fromSetCookie","headers","arrayHeaders","header","parseSetCookie","trim","isSome","push","value","parts","split","_","filter","length","none","firstEqual","indexOf","name","slice","fieldContentRegExp","test","valueEncoded","tryDecodeURIComponent","some","assign","CookieProto","options","i","part","equalIndex","key","undefined","toLowerCase","domain","replace","date","Date","isNaN","getTime","expires","maxAge","parseInt","seconds","path","priority","httpOnly","secure","partitioned","sameSite","keys","empty","isEmpty","makeCookie","left","encodedValue","encodeURIComponent","isFinite","decode","right","unsafeMakeCookie","getOrThrow","append","appendAll","merge","that","c","c2","remove","add","args","unsafeAdd","addAll","toAdd","either","isLeft","unsafeAddAll","serializeCookie","str","toSeconds","Math","trunc","toUTCString","toCookieHeader","join","toRecord","record","index","toSetCookieHeaders","parseHeader","result","strLen","pos","terminatorPos","eqIdx","substring","val","charCodeAt","decodeURIComponent"],"sources":["../../../src/Http/Cookies.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -30,7 +30,7 @@ export const schemaFromSelf = /*#__PURE__*/Schema.declare(isHeaders, {
30
30
  * @since 1.0.0
31
31
  * @category schemas
32
32
  */
33
- export const schema = /*#__PURE__*/Schema.transform( /*#__PURE__*/Schema.record(Schema.string, Schema.string), schemaFromSelf, record => fromInput(record), identity);
33
+ export const schema = /*#__PURE__*/Schema.transform( /*#__PURE__*/Schema.record(Schema.string, /*#__PURE__*/Schema.union(Schema.string, /*#__PURE__*/Schema.array(Schema.string))), schemaFromSelf, record => fromInput(record), identity);
34
34
  /**
35
35
  * @since 1.0.0
36
36
  * @category constructors
@@ -46,7 +46,7 @@ export const fromInput = input => {
46
46
  } else if (Symbol.iterator in input) {
47
47
  return ReadonlyRecord.fromEntries(ReadonlyArray.map(ReadonlyArray.fromIterable(input), ([k, v]) => [k.toLowerCase(), v]));
48
48
  }
49
- return ReadonlyRecord.fromEntries(Object.entries(input).map(([k, v]) => [k.toLowerCase(), v]));
49
+ return ReadonlyRecord.fromEntries(Object.entries(input).map(([k, v]) => [k.toLowerCase(), Array.isArray(v) ? v.join(", ") : v]));
50
50
  };
51
51
  /**
52
52
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"Headers.js","names":["Schema","dual","identity","Predicate","ReadonlyArray","ReadonlyRecord","Secret","String","HeadersTypeId","Symbol","for","isHeaders","u","hasProperty","schemaFromSelf","declare","identifier","equivalence","getEquivalence","Equivalence","schema","transform","record","string","fromInput","empty","Object","create","input","undefined","iterator","fromEntries","map","fromIterable","k","v","toLowerCase","entries","unsafeFromRecord","has","self","key","get","set","value","setAll","headers","merge","remove","out","redact","modify","fromString","isString","forEach"],"sources":["../../../src/Http/Headers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Headers.js","names":["Schema","dual","identity","Predicate","ReadonlyArray","ReadonlyRecord","Secret","String","HeadersTypeId","Symbol","for","isHeaders","u","hasProperty","schemaFromSelf","declare","identifier","equivalence","getEquivalence","Equivalence","schema","transform","record","string","union","array","fromInput","empty","Object","create","input","undefined","iterator","fromEntries","map","fromIterable","k","v","toLowerCase","entries","Array","isArray","join","unsafeFromRecord","has","self","key","get","set","value","setAll","headers","merge","remove","out","redact","modify","fromString","isString","forEach"],"sources":["../../../src/Http/Headers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRequest.js","names":["internal","maxBodySize","TypeId","ServerRequest","serverRequestTag","persistedMultipart","multipartPersisted","upgrade","upgradeChannel","schemaHeaders","schemaBodyJson","schemaBodyForm","schemaBodyUrlParams","schemaBodyMultipart","schemaBodyFormJson","fromWeb"],"sources":["../../../src/Http/ServerRequest.ts"],"sourcesContent":[null],"mappings":"AAYA,OAAO,KAAKA,QAAQ,MAAM,mCAAmC;AAS7D;AACE;;;;AAIAC,WAAW,QACN,sBAAsB;AAE7B;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBF,QAAQ,CAACE,MAAM;AAqCpD;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CH,QAAQ,CAACI,gBAAgB;AAEjG;;;;AAIA,OAAO,MAAMC,kBAAkB,GAI3BL,QAAQ,CAACM,kBAAkB;AAE/B;;;;AAIA,OAAO,MAAMC,OAAO,GAAoEP,QAAQ,CAACO,OAAO;AAExG;;;;AAIA,OAAO,MAAMC,cAAc,GAQvBR,QAAQ,CAACQ,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,aAAa,GAEyCT,QAAQ,CAACS,aAAa;AAEzF;;;;AAIA,OAAO,MAAMC,cAAc,GAE6DV,QAAQ,CAACU,cAAc;AAE/G;;;;AAIA,OAAO,MAAMC,cAAc,GAMvBX,QAAQ,CAACW,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,mBAAmB,GAEwDZ,QAAQ,CAACY,mBAAmB;AAEpH;;;;AAIA,OAAO,MAAMC,mBAAmB,GAM5Bb,QAAQ,CAACa,mBAAmB;AAEhC;;;;AAIA,OAAO,MAAMC,kBAAkB,GAQ3Bd,QAAQ,CAACc,kBAAkB;AAE/B;;;;AAIA,OAAO,MAAMC,OAAO,GAAwCf,QAAQ,CAACe,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"ServerRequest.js","names":["internal","maxBodySize","TypeId","ServerRequest","serverRequestTag","persistedMultipart","multipartPersisted","upgrade","upgradeChannel","schemaHeaders","schemaBodyJson","schemaBodyForm","schemaBodyUrlParams","schemaBodyMultipart","schemaBodyFormJson","fromWeb"],"sources":["../../../src/Http/ServerRequest.ts"],"sourcesContent":[null],"mappings":"AAaA,OAAO,KAAKA,QAAQ,MAAM,mCAAmC;AAS7D;AACE;;;;AAIAC,WAAW,QACN,sBAAsB;AAE7B;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBF,QAAQ,CAACE,MAAM;AAsCpD;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CH,QAAQ,CAACI,gBAAgB;AAEjG;;;;AAIA,OAAO,MAAMC,kBAAkB,GAI3BL,QAAQ,CAACM,kBAAkB;AAE/B;;;;AAIA,OAAO,MAAMC,OAAO,GAAoEP,QAAQ,CAACO,OAAO;AAExG;;;;AAIA,OAAO,MAAMC,cAAc,GAQvBR,QAAQ,CAACQ,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,aAAa,GAEyCT,QAAQ,CAACS,aAAa;AAEzF;;;;AAIA,OAAO,MAAMC,cAAc,GAE6DV,QAAQ,CAACU,cAAc;AAE/G;;;;AAIA,OAAO,MAAMC,cAAc,GAMvBX,QAAQ,CAACW,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,mBAAmB,GAEwDZ,QAAQ,CAACY,mBAAmB;AAEpH;;;;AAIA,OAAO,MAAMC,mBAAmB,GAM5Bb,QAAQ,CAACa,mBAAmB;AAEhC;;;;AAIA,OAAO,MAAMC,kBAAkB,GAQ3Bd,QAAQ,CAACc,kBAAkB;AAE/B;;;;AAIA,OAAO,MAAMC,OAAO,GAAwCf,QAAQ,CAACe,OAAO","ignoreList":[]}
@@ -88,6 +88,41 @@ export const setHeader = internal.setHeader;
88
88
  * @category combinators
89
89
  */
90
90
  export const setHeaders = internal.setHeaders;
91
+ /**
92
+ * @since 1.0.0
93
+ * @category combinators
94
+ */
95
+ export const removeCookie = internal.removeCookie;
96
+ /**
97
+ * @since 1.0.0
98
+ * @category combinators
99
+ */
100
+ export const replaceCookies = internal.replaceCookies;
101
+ /**
102
+ * @since 1.0.0
103
+ * @category combinators
104
+ */
105
+ export const setCookie = internal.setCookie;
106
+ /**
107
+ * @since 1.0.0
108
+ * @category combinators
109
+ */
110
+ export const unsafeSetCookie = internal.unsafeSetCookie;
111
+ /**
112
+ * @since 1.0.0
113
+ * @category combinators
114
+ */
115
+ export const updateCookies = internal.updateCookies;
116
+ /**
117
+ * @since 1.0.0
118
+ * @category combinators
119
+ */
120
+ export const setCookies = internal.setCookies;
121
+ /**
122
+ * @since 1.0.0
123
+ * @category combinators
124
+ */
125
+ export const unsafeSetCookies = internal.unsafeSetCookies;
91
126
  /**
92
127
  * @since 1.0.0
93
128
  * @category combinators
@@ -1 +1 @@
1
- {"version":3,"file":"ServerResponse.js","names":["internal","TypeId","Symbol","for","isServerResponse","empty","uint8Array","text","html","htmlStream","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","setBody","setStatus","toWeb"],"sources":["../../../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,QAAQ,MAAM,oCAAoC;AAO9D;;;;AAIA,OAAO,MAAMC,MAAM,gBAAGC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAiDxE;;;AAGA,OAAO,MAAMC,gBAAgB,GAAwCJ,QAAQ,CAACI,gBAAgB;AAE9F;;;;AAIA,OAAO,MAAMC,KAAK,GAAsDL,QAAQ,CAACK,KAAK;AAEtF;;;;AAIA,OAAO,MAAMC,UAAU,GAA4EN,QAAQ,CAACM,UAAU;AAEtH;;;;AAIA,OAAO,MAAMC,IAAI,GAAwEP,QAAQ,CAACO,IAAI;AAEtG;;;;AAIA,OAAO,MAAMC,IAAI,GAMbR,QAAQ,CAACQ,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,UAAU,GAG+DT,QAAQ,CAACS,UAAU;AAEzG;;;;AAIA,OAAO,MAAMC,IAAI,GAGoCV,QAAQ,CAACU,IAAI;AAElE;;;;AAIA,OAAO,MAAMC,UAAU,GAGrBX,QAAQ,CAACW,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,UAAU,GAAqEZ,QAAQ,CAACY,UAAU;AAE/G;;;;AAIA,OAAO,MAAMC,SAAS,GAA6Eb,QAAQ,CAACa,SAAS;AAErH;;;;AAIA,OAAO,MAAMC,GAAG,GAAyDd,QAAQ,CAACc,GAAG;AAErF;;;;AAIA,OAAO,MAAMC,QAAQ,GAAsEf,QAAQ,CAACe,QAAQ;AAE5G;;;;AAIA,OAAO,MAAMC,MAAM,GAAoFhB,QAAQ,CAACgB,MAAM;AAEtH;;;;AAIA,OAAO,MAAMC,IAAI,GAGoEjB,QAAQ,CAACiB,IAAI;AAElG;;;;AAIA,OAAO,MAAMC,OAAO,GAG2ClB,QAAQ,CAACkB,OAAO;AAE/E;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBnB,QAAQ,CAACmB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,UAAU,GAGnBpB,QAAQ,CAACoB,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,OAAO,GAGhBrB,QAAQ,CAACqB,OAAO;AAEpB;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBtB,QAAQ,CAACsB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,KAAK,GAAkEvB,QAAQ,CAACuB,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"ServerResponse.js","names":["internal","TypeId","Symbol","for","isServerResponse","empty","uint8Array","text","html","htmlStream","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","removeCookie","replaceCookies","setCookie","unsafeSetCookie","updateCookies","setCookies","unsafeSetCookies","setBody","setStatus","toWeb"],"sources":["../../../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"AASA,OAAO,KAAKA,QAAQ,MAAM,oCAAoC;AAQ9D;;;;AAIA,OAAO,MAAMC,MAAM,gBAAGC,MAAM,CAACC,GAAG,CAAC,sCAAsC,CAAC;AAmDxE;;;AAGA,OAAO,MAAMC,gBAAgB,GAAwCJ,QAAQ,CAACI,gBAAgB;AAE9F;;;;AAIA,OAAO,MAAMC,KAAK,GAAsDL,QAAQ,CAACK,KAAK;AAEtF;;;;AAIA,OAAO,MAAMC,UAAU,GAA4EN,QAAQ,CAACM,UAAU;AAEtH;;;;AAIA,OAAO,MAAMC,IAAI,GAAwEP,QAAQ,CAACO,IAAI;AAEtG;;;;AAIA,OAAO,MAAMC,IAAI,GAMbR,QAAQ,CAACQ,IAAI;AAEjB;;;;AAIA,OAAO,MAAMC,UAAU,GAG+DT,QAAQ,CAACS,UAAU;AAEzG;;;;AAIA,OAAO,MAAMC,IAAI,GAGoCV,QAAQ,CAACU,IAAI;AAElE;;;;AAIA,OAAO,MAAMC,UAAU,GAGrBX,QAAQ,CAACW,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,UAAU,GAAqEZ,QAAQ,CAACY,UAAU;AAE/G;;;;AAIA,OAAO,MAAMC,SAAS,GAA6Eb,QAAQ,CAACa,SAAS;AAErH;;;;AAIA,OAAO,MAAMC,GAAG,GAAyDd,QAAQ,CAACc,GAAG;AAErF;;;;AAIA,OAAO,MAAMC,QAAQ,GAAsEf,QAAQ,CAACe,QAAQ;AAE5G;;;;AAIA,OAAO,MAAMC,MAAM,GAAoFhB,QAAQ,CAACgB,MAAM;AAEtH;;;;AAIA,OAAO,MAAMC,IAAI,GAGoEjB,QAAQ,CAACiB,IAAI;AAElG;;;;AAIA,OAAO,MAAMC,OAAO,GAG2ClB,QAAQ,CAACkB,OAAO;AAE/E;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBnB,QAAQ,CAACmB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,UAAU,GAGnBpB,QAAQ,CAACoB,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,YAAY,GAGrBrB,QAAQ,CAACqB,YAAY;AAEzB;;;;AAIA,OAAO,MAAMC,cAAc,GAGvBtB,QAAQ,CAACsB,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,SAAS,GAoBlBvB,QAAQ,CAACuB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,eAAe,GAYxBxB,QAAQ,CAACwB,eAAe;AAE5B;;;;AAIA,OAAO,MAAMC,aAAa,GAGtBzB,QAAQ,CAACyB,aAAa;AAE1B;;;;AAIA,OAAO,MAAMC,UAAU,GAoBnB1B,QAAQ,CAAC0B,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,gBAAgB,GAoBzB3B,QAAQ,CAAC2B,gBAAgB;AAE7B;;;;AAIA,OAAO,MAAMC,OAAO,GAGhB5B,QAAQ,CAAC4B,OAAO;AAEpB;;;;AAIA,OAAO,MAAMC,SAAS,GAGlB7B,QAAQ,CAAC6B,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,KAAK,GAAkE9B,QAAQ,CAAC8B,KAAK","ignoreList":[]}
@@ -6,6 +6,7 @@ import * as client from "./Http/Client.js";
6
6
  import * as error from "./Http/ClientError.js";
7
7
  import * as request from "./Http/ClientRequest.js";
8
8
  import * as response from "./Http/ClientResponse.js";
9
+ import * as cookies from "./Http/Cookies.js";
9
10
  import * as headers from "./Http/Headers.js";
10
11
  import * as urlParams from "./Http/UrlParams.js";
11
12
  export {
@@ -23,6 +24,13 @@ body,
23
24
  * - Module: `@effect/platform/Http/Client`
24
25
  */
25
26
  client,
27
+ /**
28
+ * @since 1.0.0
29
+ *
30
+ * - Docs: [Http/Cookies](https://effect-ts.github.io/effect/platform/Http/Cookies.ts.html)
31
+ * - Module: `@effect/platform/Http/Cookies`
32
+ */
33
+ cookies,
26
34
  /**
27
35
  * @since 1.0.0
28
36
  *
@@ -1 +1 @@
1
- {"version":3,"file":"HttpClient.js","names":["body","client","error","request","response","headers","urlParams"],"sources":["../../src/HttpClient.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AACtC,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,OAAO,KAAKC,KAAK,MAAM,uBAAuB;AAC9C,OAAO,KAAKC,OAAO,MAAM,yBAAyB;AAClD,OAAO,KAAKC,QAAQ,MAAM,0BAA0B;AACpD,OAAO,KAAKC,OAAO,MAAM,mBAAmB;AAC5C,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAEhD;AACE;;;;;;AAMAN,IAAI;AACJ;;;;;;AAMAC,MAAM;AACN;;;;;;AAMAC,KAAK;AACL;;;;;;AAMAG,OAAO;AACP;;;;;;AAMAF,OAAO;AACP;;;;;;AAMAC,QAAQ;AACR;;;;;;AAMAE,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"HttpClient.js","names":["body","client","error","request","response","cookies","headers","urlParams"],"sources":["../../src/HttpClient.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,IAAI,MAAM,gBAAgB;AACtC,OAAO,KAAKC,MAAM,MAAM,kBAAkB;AAC1C,OAAO,KAAKC,KAAK,MAAM,uBAAuB;AAC9C,OAAO,KAAKC,OAAO,MAAM,yBAAyB;AAClD,OAAO,KAAKC,QAAQ,MAAM,0BAA0B;AACpD,OAAO,KAAKC,OAAO,MAAM,mBAAmB;AAC5C,OAAO,KAAKC,OAAO,MAAM,mBAAmB;AAC5C,OAAO,KAAKC,SAAS,MAAM,qBAAqB;AAEhD;AACE;;;;;;AAMAP,IAAI;AACJ;;;;;;AAMAC,MAAM;AACN;;;;;;AAMAI,OAAO;AACP;;;;;;AAMAH,KAAK;AACL;;;;;;AAMAI,OAAO;AACP;;;;;;AAMAH,OAAO;AACP;;;;;;AAMAC,QAAQ;AACR;;;;;;AAMAG,SAAS","ignoreList":[]}