@effect/platform 0.48.16 → 0.48.17
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.
- package/dist/cjs/Http/Client.js.map +1 -1
- package/dist/cjs/Http/ClientRequest.js.map +1 -1
- package/dist/cjs/Http/ClientResponse.js.map +1 -1
- package/dist/cjs/Http/Cookies.js +50 -27
- package/dist/cjs/Http/Cookies.js.map +1 -1
- package/dist/cjs/Http/IncomingMessage.js +12 -16
- package/dist/cjs/Http/IncomingMessage.js.map +1 -1
- package/dist/cjs/Http/Multipart.js.map +1 -1
- package/dist/cjs/Http/Router.js +11 -1
- package/dist/cjs/Http/Router.js.map +1 -1
- package/dist/cjs/Http/ServerRequest.js +6 -1
- package/dist/cjs/Http/ServerRequest.js.map +1 -1
- package/dist/cjs/Http/ServerResponse.js.map +1 -1
- package/dist/cjs/Http/UrlParams.js +2 -2
- package/dist/cjs/Http/UrlParams.js.map +1 -1
- package/dist/cjs/internal/http/body.js +2 -2
- package/dist/cjs/internal/http/body.js.map +1 -1
- package/dist/cjs/internal/http/client.js +4 -2
- package/dist/cjs/internal/http/client.js.map +1 -1
- package/dist/cjs/internal/http/clientRequest.js +2 -2
- package/dist/cjs/internal/http/clientRequest.js.map +1 -1
- package/dist/cjs/internal/http/clientResponse.js +8 -8
- package/dist/cjs/internal/http/clientResponse.js.map +1 -1
- package/dist/cjs/internal/http/multipart.js +4 -4
- package/dist/cjs/internal/http/multipart.js.map +1 -1
- package/dist/cjs/internal/http/router.js +34 -7
- package/dist/cjs/internal/http/router.js.map +1 -1
- package/dist/cjs/internal/http/serverRequest.js +22 -15
- package/dist/cjs/internal/http/serverRequest.js.map +1 -1
- package/dist/cjs/internal/http/serverResponse.js +19 -11
- package/dist/cjs/internal/http/serverResponse.js.map +1 -1
- package/dist/dts/Http/Client.d.ts +3 -2
- package/dist/dts/Http/Client.d.ts.map +1 -1
- package/dist/dts/Http/ClientRequest.d.ts +2 -1
- package/dist/dts/Http/ClientRequest.d.ts.map +1 -1
- package/dist/dts/Http/ClientResponse.d.ts +5 -4
- package/dist/dts/Http/ClientResponse.d.ts.map +1 -1
- package/dist/dts/Http/Cookies.d.ts +15 -7
- package/dist/dts/Http/Cookies.d.ts.map +1 -1
- package/dist/dts/Http/IncomingMessage.d.ts +7 -6
- package/dist/dts/Http/IncomingMessage.d.ts.map +1 -1
- package/dist/dts/Http/Multipart.d.ts +3 -2
- package/dist/dts/Http/Multipart.d.ts.map +1 -1
- package/dist/dts/Http/Router.d.ts +29 -3
- package/dist/dts/Http/Router.d.ts.map +1 -1
- package/dist/dts/Http/ServerRequest.d.ts +12 -6
- package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
- package/dist/dts/Http/ServerResponse.d.ts +14 -13
- package/dist/dts/Http/ServerResponse.d.ts.map +1 -1
- package/dist/dts/Http/UrlParams.d.ts +2 -1
- package/dist/dts/Http/UrlParams.d.ts.map +1 -1
- package/dist/dts/internal/http/router.d.ts.map +1 -1
- package/dist/esm/Http/Client.js.map +1 -1
- package/dist/esm/Http/ClientRequest.js.map +1 -1
- package/dist/esm/Http/ClientResponse.js.map +1 -1
- package/dist/esm/Http/Cookies.js +47 -25
- package/dist/esm/Http/Cookies.js.map +1 -1
- package/dist/esm/Http/IncomingMessage.js +12 -15
- package/dist/esm/Http/IncomingMessage.js.map +1 -1
- package/dist/esm/Http/Multipart.js.map +1 -1
- package/dist/esm/Http/Router.js +10 -0
- package/dist/esm/Http/Router.js.map +1 -1
- package/dist/esm/Http/ServerRequest.js +5 -0
- package/dist/esm/Http/ServerRequest.js.map +1 -1
- package/dist/esm/Http/ServerResponse.js.map +1 -1
- package/dist/esm/Http/UrlParams.js +2 -2
- package/dist/esm/Http/UrlParams.js.map +1 -1
- package/dist/esm/internal/http/body.js +2 -2
- package/dist/esm/internal/http/body.js.map +1 -1
- package/dist/esm/internal/http/client.js +4 -2
- package/dist/esm/internal/http/client.js.map +1 -1
- package/dist/esm/internal/http/clientRequest.js +2 -2
- package/dist/esm/internal/http/clientRequest.js.map +1 -1
- package/dist/esm/internal/http/clientResponse.js +8 -8
- package/dist/esm/internal/http/clientResponse.js.map +1 -1
- package/dist/esm/internal/http/multipart.js +4 -4
- package/dist/esm/internal/http/multipart.js.map +1 -1
- package/dist/esm/internal/http/router.js +31 -6
- package/dist/esm/internal/http/router.js.map +1 -1
- package/dist/esm/internal/http/serverRequest.js +20 -14
- package/dist/esm/internal/http/serverRequest.js.map +1 -1
- package/dist/esm/internal/http/serverResponse.js +19 -11
- package/dist/esm/internal/http/serverResponse.js.map +1 -1
- package/package.json +3 -3
- package/src/Http/Client.ts +5 -2
- package/src/Http/ClientRequest.ts +3 -1
- package/src/Http/ClientResponse.ts +16 -7
- package/src/Http/Cookies.ts +60 -37
- package/src/Http/IncomingMessage.ts +17 -12
- package/src/Http/Multipart.ts +5 -2
- package/src/Http/Router.ts +50 -3
- package/src/Http/ServerRequest.ts +23 -7
- package/src/Http/ServerResponse.ts +19 -13
- package/src/Http/UrlParams.ts +3 -2
- package/src/internal/http/body.ts +3 -2
- package/src/internal/http/client.ts +10 -5
- package/src/internal/http/clientRequest.ts +3 -2
- package/src/internal/http/clientResponse.ts +9 -8
- package/src/internal/http/multipart.ts +7 -4
- package/src/internal/http/router.ts +80 -6
- package/src/internal/http/serverRequest.ts +31 -15
- package/src/internal/http/serverResponse.ts +32 -22
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ParseOptions } from "@effect/schema/AST"
|
|
1
2
|
import type * as Schema from "@effect/schema/Schema"
|
|
2
3
|
import * as Effect from "effect/Effect"
|
|
3
4
|
import * as Effectable from "effect/Effectable"
|
|
@@ -64,6 +65,7 @@ class ServerResponseImpl extends Effectable.StructuralClass<ServerResponse.Serve
|
|
|
64
65
|
status: this.status,
|
|
65
66
|
statusText: this.statusText,
|
|
66
67
|
headers: this.headers,
|
|
68
|
+
cookies: this.cookies.toJSON(),
|
|
67
69
|
body: this.body.toJSON()
|
|
68
70
|
}
|
|
69
71
|
}
|
|
@@ -74,7 +76,7 @@ export const isServerResponse = (u: unknown): u is ServerResponse.ServerResponse
|
|
|
74
76
|
typeof u === "object" && u !== null && TypeId in u
|
|
75
77
|
|
|
76
78
|
/** @internal */
|
|
77
|
-
export const empty = (options?: ServerResponse.Options.WithContent): ServerResponse.ServerResponse =>
|
|
79
|
+
export const empty = (options?: ServerResponse.Options.WithContent | undefined): ServerResponse.ServerResponse =>
|
|
78
80
|
new ServerResponseImpl(
|
|
79
81
|
options?.status ?? 204,
|
|
80
82
|
options?.statusText,
|
|
@@ -155,7 +157,7 @@ export const htmlStream = <A extends ReadonlyArray<Template.InterpolatedWithStre
|
|
|
155
157
|
/** @internal */
|
|
156
158
|
export const json = (
|
|
157
159
|
body: unknown,
|
|
158
|
-
options?: ServerResponse.Options.WithContent
|
|
160
|
+
options?: ServerResponse.Options.WithContent | undefined
|
|
159
161
|
): Effect.Effect<ServerResponse.ServerResponse, Body.BodyError> =>
|
|
160
162
|
Effect.map(internalBody.json(body), (body) =>
|
|
161
163
|
new ServerResponseImpl(
|
|
@@ -169,7 +171,7 @@ export const json = (
|
|
|
169
171
|
/** @internal */
|
|
170
172
|
export const unsafeJson = (
|
|
171
173
|
body: unknown,
|
|
172
|
-
options?: ServerResponse.Options.WithContent
|
|
174
|
+
options?: ServerResponse.Options.WithContent | undefined
|
|
173
175
|
): ServerResponse.ServerResponse =>
|
|
174
176
|
new ServerResponseImpl(
|
|
175
177
|
options?.status ?? 200,
|
|
@@ -181,12 +183,13 @@ export const unsafeJson = (
|
|
|
181
183
|
|
|
182
184
|
/** @internal */
|
|
183
185
|
export const schemaJson = <A, I, R>(
|
|
184
|
-
schema: Schema.Schema<A, I, R
|
|
186
|
+
schema: Schema.Schema<A, I, R>,
|
|
187
|
+
options?: ParseOptions | undefined
|
|
185
188
|
) => {
|
|
186
|
-
const encode = internalBody.jsonSchema(schema)
|
|
189
|
+
const encode = internalBody.jsonSchema(schema, options)
|
|
187
190
|
return (
|
|
188
191
|
body: A,
|
|
189
|
-
options?: ServerResponse.Options.WithContent
|
|
192
|
+
options?: ServerResponse.Options.WithContent | undefined
|
|
190
193
|
): Effect.Effect<ServerResponse.ServerResponse, Body.BodyError, R> =>
|
|
191
194
|
Effect.map(encode(body), (body) =>
|
|
192
195
|
new ServerResponseImpl(
|
|
@@ -201,7 +204,7 @@ export const schemaJson = <A, I, R>(
|
|
|
201
204
|
/** @internal */
|
|
202
205
|
export const file = (
|
|
203
206
|
path: string,
|
|
204
|
-
options?: ServerResponse.Options & FileSystem.StreamOptions
|
|
207
|
+
options?: (ServerResponse.Options & FileSystem.StreamOptions) | undefined
|
|
205
208
|
): Effect.Effect<ServerResponse.ServerResponse, PlatformError.PlatformError, Platform.Platform> =>
|
|
206
209
|
Effect.flatMap(
|
|
207
210
|
Platform.Platform,
|
|
@@ -211,7 +214,7 @@ export const file = (
|
|
|
211
214
|
/** @internal */
|
|
212
215
|
export const fileWeb = (
|
|
213
216
|
file: Body.Body.FileLike,
|
|
214
|
-
options?: ServerResponse.Options.WithContent & FileSystem.StreamOptions
|
|
217
|
+
options?: (ServerResponse.Options.WithContent & FileSystem.StreamOptions) | undefined
|
|
215
218
|
): Effect.Effect<ServerResponse.ServerResponse, never, Platform.Platform> =>
|
|
216
219
|
Effect.flatMap(
|
|
217
220
|
Platform.Platform,
|
|
@@ -221,7 +224,7 @@ export const fileWeb = (
|
|
|
221
224
|
/** @internal */
|
|
222
225
|
export const urlParams = (
|
|
223
226
|
body: UrlParams.Input,
|
|
224
|
-
options?: ServerResponse.Options.WithContent
|
|
227
|
+
options?: ServerResponse.Options.WithContent | undefined
|
|
225
228
|
): ServerResponse.ServerResponse =>
|
|
226
229
|
new ServerResponseImpl(
|
|
227
230
|
options?.status ?? 200,
|
|
@@ -232,7 +235,7 @@ export const urlParams = (
|
|
|
232
235
|
)
|
|
233
236
|
|
|
234
237
|
/** @internal */
|
|
235
|
-
export const raw = (body: unknown, options?: ServerResponse.Options): ServerResponse.ServerResponse =>
|
|
238
|
+
export const raw = (body: unknown, options?: ServerResponse.Options | undefined): ServerResponse.ServerResponse =>
|
|
236
239
|
new ServerResponseImpl(
|
|
237
240
|
options?.status ?? 200,
|
|
238
241
|
options?.statusText,
|
|
@@ -244,7 +247,7 @@ export const raw = (body: unknown, options?: ServerResponse.Options): ServerResp
|
|
|
244
247
|
/** @internal */
|
|
245
248
|
export const formData = (
|
|
246
249
|
body: FormData,
|
|
247
|
-
options?: ServerResponse.Options.WithContent
|
|
250
|
+
options?: ServerResponse.Options.WithContent | undefined
|
|
248
251
|
): ServerResponse.ServerResponse =>
|
|
249
252
|
new ServerResponseImpl(
|
|
250
253
|
options?.status ?? 200,
|
|
@@ -257,7 +260,7 @@ export const formData = (
|
|
|
257
260
|
/** @internal */
|
|
258
261
|
export const stream = (
|
|
259
262
|
body: Stream.Stream<Uint8Array, unknown>,
|
|
260
|
-
options?: ServerResponse.Options
|
|
263
|
+
options?: ServerResponse.Options | undefined
|
|
261
264
|
): ServerResponse.ServerResponse =>
|
|
262
265
|
new ServerResponseImpl(
|
|
263
266
|
options?.status ?? 200,
|
|
@@ -268,7 +271,7 @@ export const stream = (
|
|
|
268
271
|
)
|
|
269
272
|
|
|
270
273
|
/** @internal */
|
|
271
|
-
export const getContentType = (options?: ServerResponse.Options): string | undefined => {
|
|
274
|
+
export const getContentType = (options?: ServerResponse.Options | undefined): string | undefined => {
|
|
272
275
|
if (options?.contentType) {
|
|
273
276
|
return options.contentType
|
|
274
277
|
} else if (options?.headers) {
|
|
@@ -320,7 +323,7 @@ export const setCookie = dual<
|
|
|
320
323
|
>(
|
|
321
324
|
(args) => Cookies.isCookies(args[0]),
|
|
322
325
|
(self, name, value, options) =>
|
|
323
|
-
Effect.map(Cookies.
|
|
326
|
+
Effect.map(Cookies.set(self.cookies, name, value, options), (cookies) =>
|
|
324
327
|
new ServerResponseImpl(
|
|
325
328
|
self.status,
|
|
326
329
|
self.statusText,
|
|
@@ -350,7 +353,7 @@ export const unsafeSetCookie = dual<
|
|
|
350
353
|
self.status,
|
|
351
354
|
self.statusText,
|
|
352
355
|
self.headers,
|
|
353
|
-
Cookies.
|
|
356
|
+
Cookies.unsafeSet(self.cookies, name, value, options),
|
|
354
357
|
self.body
|
|
355
358
|
)
|
|
356
359
|
)
|
|
@@ -385,7 +388,7 @@ export const setCookies = dual<
|
|
|
385
388
|
>(
|
|
386
389
|
2,
|
|
387
390
|
(self, cookies) =>
|
|
388
|
-
Effect.map(Cookies.
|
|
391
|
+
Effect.map(Cookies.setAll(self.cookies, cookies), (cookies) =>
|
|
389
392
|
new ServerResponseImpl(
|
|
390
393
|
self.status,
|
|
391
394
|
self.statusText,
|
|
@@ -411,7 +414,7 @@ export const unsafeSetCookies = dual<
|
|
|
411
414
|
self.status,
|
|
412
415
|
self.statusText,
|
|
413
416
|
self.headers,
|
|
414
|
-
Cookies.
|
|
417
|
+
Cookies.unsafeSetAll(self.cookies, cookies),
|
|
415
418
|
self.body
|
|
416
419
|
)
|
|
417
420
|
)
|
|
@@ -483,11 +486,18 @@ export const setBody = dual<
|
|
|
483
486
|
|
|
484
487
|
/** @internal */
|
|
485
488
|
export const toWeb = (response: ServerResponse.ServerResponse, withoutBody = false): Response => {
|
|
489
|
+
const headers = new globalThis.Headers(response.headers)
|
|
490
|
+
if (!Cookies.isEmpty(response.cookies)) {
|
|
491
|
+
const toAdd = Cookies.toSetCookieHeaders(response.cookies)
|
|
492
|
+
for (const header of toAdd) {
|
|
493
|
+
headers.append("set-cookie", header)
|
|
494
|
+
}
|
|
495
|
+
}
|
|
486
496
|
if (withoutBody) {
|
|
487
497
|
return new Response(undefined, {
|
|
488
498
|
status: response.status,
|
|
489
499
|
statusText: response.statusText as string,
|
|
490
|
-
headers
|
|
500
|
+
headers
|
|
491
501
|
})
|
|
492
502
|
}
|
|
493
503
|
const body = response.body
|
|
@@ -496,7 +506,7 @@ export const toWeb = (response: ServerResponse.ServerResponse, withoutBody = fal
|
|
|
496
506
|
return new Response(undefined, {
|
|
497
507
|
status: response.status,
|
|
498
508
|
statusText: response.statusText as string,
|
|
499
|
-
headers
|
|
509
|
+
headers
|
|
500
510
|
})
|
|
501
511
|
}
|
|
502
512
|
case "Uint8Array":
|
|
@@ -504,21 +514,21 @@ export const toWeb = (response: ServerResponse.ServerResponse, withoutBody = fal
|
|
|
504
514
|
return new Response(body.body as any, {
|
|
505
515
|
status: response.status,
|
|
506
516
|
statusText: response.statusText,
|
|
507
|
-
headers
|
|
517
|
+
headers
|
|
508
518
|
})
|
|
509
519
|
}
|
|
510
520
|
case "FormData": {
|
|
511
521
|
return new Response(body.formData as any, {
|
|
512
522
|
status: response.status,
|
|
513
523
|
statusText: response.statusText,
|
|
514
|
-
headers
|
|
524
|
+
headers
|
|
515
525
|
})
|
|
516
526
|
}
|
|
517
527
|
case "Stream": {
|
|
518
528
|
return new Response(Stream.toReadableStream(body.stream), {
|
|
519
529
|
status: response.status,
|
|
520
530
|
statusText: response.statusText,
|
|
521
|
-
headers
|
|
531
|
+
headers
|
|
522
532
|
})
|
|
523
533
|
}
|
|
524
534
|
}
|