@effect/platform 0.31.0 → 0.31.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Http/App.js +43 -1
- package/dist/cjs/Http/App.js.map +1 -1
- package/dist/cjs/Http/Middleware.js +11 -1
- package/dist/cjs/Http/Middleware.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 +6 -1
- package/dist/cjs/Http/ServerResponse.js.map +1 -1
- package/dist/cjs/internal/http/middleware.js +7 -2
- package/dist/cjs/internal/http/middleware.js.map +1 -1
- package/dist/cjs/internal/http/serverRequest.js +112 -1
- package/dist/cjs/internal/http/serverRequest.js.map +1 -1
- package/dist/cjs/internal/http/serverResponse.js +49 -1
- package/dist/cjs/internal/http/serverResponse.js.map +1 -1
- package/dist/dts/Http/App.d.ts +22 -2
- package/dist/dts/Http/App.d.ts.map +1 -1
- package/dist/dts/Http/Middleware.d.ts +15 -0
- package/dist/dts/Http/Middleware.d.ts.map +1 -1
- package/dist/dts/Http/ServerRequest.d.ts +5 -0
- package/dist/dts/Http/ServerRequest.d.ts.map +1 -1
- package/dist/dts/Http/ServerResponse.d.ts +5 -0
- package/dist/dts/Http/ServerResponse.d.ts.map +1 -1
- package/dist/esm/Http/App.js +40 -0
- package/dist/esm/Http/App.js.map +1 -1
- package/dist/esm/Http/Middleware.js +10 -0
- package/dist/esm/Http/Middleware.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 +5 -0
- package/dist/esm/Http/ServerResponse.js.map +1 -1
- package/dist/esm/internal/http/middleware.js +6 -1
- package/dist/esm/internal/http/middleware.js.map +1 -1
- package/dist/esm/internal/http/serverRequest.js +110 -0
- package/dist/esm/internal/http/serverRequest.js.map +1 -1
- package/dist/esm/internal/http/serverResponse.js +47 -0
- package/dist/esm/internal/http/serverResponse.js.map +1 -1
- package/package.json +1 -1
- package/src/Http/App.ts +50 -2
- package/src/Http/Middleware.ts +23 -0
- package/src/Http/ServerRequest.ts +6 -0
- package/src/Http/ServerResponse.ts +6 -0
- package/src/internal/http/middleware.ts +28 -7
- package/src/internal/http/serverRequest.ts +159 -0
- package/src/internal/http/serverResponse.ts +44 -1
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type * as Effect from "effect/Effect";
|
|
5
5
|
import type * as FiberRef from "effect/FiberRef";
|
|
6
|
+
import type * as Predicate from "effect/Predicate";
|
|
6
7
|
import type * as App from "./App.js";
|
|
8
|
+
import type * as ServerRequest from "./ServerRequest.js";
|
|
7
9
|
/**
|
|
8
10
|
* @since 1.0.0
|
|
9
11
|
* @category models
|
|
@@ -42,6 +44,19 @@ export declare const loggerDisabled: FiberRef.FiberRef<boolean>;
|
|
|
42
44
|
* @category fiber refs
|
|
43
45
|
*/
|
|
44
46
|
export declare const withLoggerDisabled: <R, E, A>(self: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
|
|
47
|
+
/**
|
|
48
|
+
* @since 1.0.0
|
|
49
|
+
* @category fiber refs
|
|
50
|
+
*/
|
|
51
|
+
export declare const currentTracerDisabledWhen: FiberRef.FiberRef<Predicate.Predicate<ServerRequest.ServerRequest>>;
|
|
52
|
+
/**
|
|
53
|
+
* @since 1.0.0
|
|
54
|
+
* @category fiber refs
|
|
55
|
+
*/
|
|
56
|
+
export declare const withTracerDisabledWhen: {
|
|
57
|
+
(predicate: Predicate.Predicate<ServerRequest.ServerRequest>): <R, E, A>(effect: Effect.Effect<R, E, A>) => Effect.Effect<R, E, A>;
|
|
58
|
+
<R, E, A>(effect: Effect.Effect<R, E, A>, predicate: Predicate.Predicate<ServerRequest.ServerRequest>): Effect.Effect<R, E, A>;
|
|
59
|
+
};
|
|
45
60
|
/**
|
|
46
61
|
* @since 1.0.0
|
|
47
62
|
* @category constructors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../src/Http/Middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Middleware.d.ts","sourceRoot":"","sources":["../../../src/Http/Middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,KAAK,SAAS,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AACpC,OAAO,KAAK,KAAK,aAAa,MAAM,oBAAoB,CAAA;AAExD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CACvD;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC;;OAEG;IACH,UAAiB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;QAC5D,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;KAC7B;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,UAAU,EAAE,CAAC,KAAK,CAAiB,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAmB,CAAA;AAE9F;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAA2B,CAAA;AAEjF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACpE,CAAA;AAE7B;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CACtE,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE;IACnC,CACE,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,GAC1D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACtE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,GAC1D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CACQ,CAAA;AAEnC;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAA8B,CAAA"}
|
|
@@ -82,4 +82,9 @@ export declare const schemaFormData: <I extends FormData.PersistedFormData, A>(s
|
|
|
82
82
|
* @category schema
|
|
83
83
|
*/
|
|
84
84
|
export declare const schemaFormDataJson: <I, A>(schema: Schema.Schema<I, A>) => (field: string) => Effect.Effect<ServerRequest | Scope.Scope | FileSystem.FileSystem | Path.Path, Error.RequestError | FormData.FormDataError | ParseResult.ParseError, A>;
|
|
85
|
+
/**
|
|
86
|
+
* @since 1.0.0
|
|
87
|
+
* @category conversions
|
|
88
|
+
*/
|
|
89
|
+
export declare const fromWeb: (request: Request) => ServerRequest;
|
|
85
90
|
//# sourceMappingURL=ServerRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerRequest.d.ts","sourceRoot":"","sources":["../../../src/Http/ServerRequest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServerRequest.d.ts","sourceRoot":"","sources":["../../../src/Http/ServerRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -155,4 +155,9 @@ export declare const setStatus: {
|
|
|
155
155
|
(status: number, statusText?: string | undefined): (self: ServerResponse) => ServerResponse;
|
|
156
156
|
(self: ServerResponse, status: number, statusText?: string | undefined): ServerResponse;
|
|
157
157
|
};
|
|
158
|
+
/**
|
|
159
|
+
* @since 1.0.0
|
|
160
|
+
* @category conversions
|
|
161
|
+
*/
|
|
162
|
+
export declare const toWeb: (response: ServerResponse, withoutBody?: boolean) => Response;
|
|
158
163
|
//# sourceMappingURL=ServerResponse.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerResponse.d.ts","sourceRoot":"","sources":["../../../src/Http/ServerResponse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ServerResponse.d.ts","sourceRoot":"","sources":["../../../src/Http/ServerResponse.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/Http/App.js
CHANGED
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as Effect from "effect/Effect";
|
|
5
|
+
import * as Exit from "effect/Exit";
|
|
5
6
|
import * as FiberRef from "effect/FiberRef";
|
|
6
7
|
import { dual } from "effect/Function";
|
|
7
8
|
import { globalValue } from "effect/GlobalValue";
|
|
9
|
+
import * as Layer from "effect/Layer";
|
|
8
10
|
import * as ReadonlyArray from "effect/ReadonlyArray";
|
|
11
|
+
import * as Runtime from "effect/Runtime";
|
|
12
|
+
import * as Scope from "effect/Scope";
|
|
9
13
|
import * as internalMiddleware from "../internal/http/middleware.js";
|
|
14
|
+
import * as ServerRequest from "./ServerRequest.js";
|
|
15
|
+
import * as ServerResponse from "./ServerResponse.js";
|
|
10
16
|
/**
|
|
11
17
|
* @since 1.0.0
|
|
12
18
|
* @category combinators
|
|
@@ -39,4 +45,38 @@ export const appendPreResponseHandler = handler => FiberRef.update(currentPreRes
|
|
|
39
45
|
* @category fiber refs
|
|
40
46
|
*/
|
|
41
47
|
export const withPreResponseHandler = /*#__PURE__*/dual(2, (self, handler) => Effect.locallyWith(self, currentPreResponseHandlers, ReadonlyArray.append(handler)));
|
|
48
|
+
/**
|
|
49
|
+
* @since 1.0.0
|
|
50
|
+
* @category conversions
|
|
51
|
+
*/
|
|
52
|
+
export const toWebHandlerRuntime = runtime => {
|
|
53
|
+
const run = Runtime.runPromise(runtime);
|
|
54
|
+
return self => {
|
|
55
|
+
self = withDefaultMiddleware(self);
|
|
56
|
+
return request => {
|
|
57
|
+
const req = ServerRequest.fromWeb(request);
|
|
58
|
+
return run(Effect.map(Effect.provideService(self, ServerRequest.ServerRequest, req), res => ServerResponse.toWeb(res, req.method === "HEAD")));
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* @since 1.0.0
|
|
64
|
+
* @category conversions
|
|
65
|
+
*/
|
|
66
|
+
export const toWebHandler = /*#__PURE__*/toWebHandlerRuntime(Runtime.defaultRuntime);
|
|
67
|
+
/**
|
|
68
|
+
* @since 1.0.0
|
|
69
|
+
* @category conversions
|
|
70
|
+
*/
|
|
71
|
+
export const toWebHandlerLayer = (self, layer) => {
|
|
72
|
+
const scope = Effect.runSync(Scope.make());
|
|
73
|
+
const close = () => Effect.runPromise(Scope.close(scope, Exit.unit));
|
|
74
|
+
const build = Effect.map(Layer.toRuntime(layer), _ => toWebHandlerRuntime(_)(self));
|
|
75
|
+
const runner = Effect.runPromise(Scope.extend(build, scope));
|
|
76
|
+
const handler = request => runner.then(handler => handler(request));
|
|
77
|
+
return {
|
|
78
|
+
close,
|
|
79
|
+
handler
|
|
80
|
+
};
|
|
81
|
+
};
|
|
42
82
|
//# sourceMappingURL=App.js.map
|
package/dist/esm/Http/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","names":["Effect","FiberRef","dual","globalValue","ReadonlyArray","internalMiddleware","withDefaultMiddleware","self","tracer","currentPreResponseHandlers","Symbol","for","unsafeMake","noopHandler","_request","response","succeed","preResponseHandler","map","get","handlers","length","reduce","acc","handler","request","flatMap","appendPreResponseHandler","update","append","withPreResponseHandler","locallyWith"],"sources":["../../../src/Http/App.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,SAASC,WAAW,QAAQ,oBAAoB;AAChD,OAAO,KAAKC,aAAa,MAAM,sBAAsB;AACrD,OAAO,KAAKC,kBAAkB,MAAM,gCAAgC;
|
|
1
|
+
{"version":3,"file":"App.js","names":["Effect","Exit","FiberRef","dual","globalValue","Layer","ReadonlyArray","Runtime","Scope","internalMiddleware","ServerRequest","ServerResponse","withDefaultMiddleware","self","tracer","currentPreResponseHandlers","Symbol","for","unsafeMake","noopHandler","_request","response","succeed","preResponseHandler","map","get","handlers","length","reduce","acc","handler","request","flatMap","appendPreResponseHandler","update","append","withPreResponseHandler","locallyWith","toWebHandlerRuntime","runtime","run","runPromise","req","fromWeb","provideService","res","toWeb","method","toWebHandler","defaultRuntime","toWebHandlerLayer","layer","scope","runSync","make","close","unit","build","toRuntime","_","runner","extend","then"],"sources":["../../../src/Http/App.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -19,6 +19,16 @@ export const loggerDisabled = internal.loggerDisabled;
|
|
|
19
19
|
* @category fiber refs
|
|
20
20
|
*/
|
|
21
21
|
export const withLoggerDisabled = internal.withLoggerDisabled;
|
|
22
|
+
/**
|
|
23
|
+
* @since 1.0.0
|
|
24
|
+
* @category fiber refs
|
|
25
|
+
*/
|
|
26
|
+
export const currentTracerDisabledWhen = internal.currentTracerDisabledWhen;
|
|
27
|
+
/**
|
|
28
|
+
* @since 1.0.0
|
|
29
|
+
* @category fiber refs
|
|
30
|
+
*/
|
|
31
|
+
export const withTracerDisabledWhen = internal.withTracerDisabledWhen;
|
|
22
32
|
/**
|
|
23
33
|
* @since 1.0.0
|
|
24
34
|
* @category constructors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Middleware.js","names":["internal","make","logger","loggerDisabled","withLoggerDisabled","xForwardedHeaders"],"sources":["../../../src/Http/Middleware.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"Middleware.js","names":["internal","make","logger","loggerDisabled","withLoggerDisabled","currentTracerDisabledWhen","withTracerDisabledWhen","xForwardedHeaders"],"sources":["../../../src/Http/Middleware.ts"],"sourcesContent":[null],"mappings":"AAMA,OAAO,KAAKA,QAAQ,MAAM,gCAAgC;AAwB1D;;;;AAIA,OAAO,MAAMC,IAAI,GAA+CD,QAAQ,CAACC,IAAI;AAE7E;;;;AAIA,OAAO,MAAMC,MAAM,GAA4DF,QAAQ,CAACE,MAAM;AAE9F;;;;AAIA,OAAO,MAAMC,cAAc,GAA+BH,QAAQ,CAACG,cAAc;AAEjF;;;;AAIA,OAAO,MAAMC,kBAAkB,GAC7BJ,QAAQ,CAACI,kBAAkB;AAE7B;;;;AAIA,OAAO,MAAMC,yBAAyB,GACpCL,QAAQ,CAACK,yBAAyB;AAEpC;;;;AAIA,OAAO,MAAMC,sBAAsB,GAQ/BN,QAAQ,CAACM,sBAAsB;AAEnC;;;;AAIA,OAAO,MAAMC,iBAAiB,GAA4DP,QAAQ,CAACO,iBAAiB"}
|
|
@@ -45,4 +45,9 @@ export const schemaFormData = internal.schemaFormData;
|
|
|
45
45
|
* @category schema
|
|
46
46
|
*/
|
|
47
47
|
export const schemaFormDataJson = internal.schemaFormDataJson;
|
|
48
|
+
/**
|
|
49
|
+
* @since 1.0.0
|
|
50
|
+
* @category conversions
|
|
51
|
+
*/
|
|
52
|
+
export const fromWeb = internal.fromWeb;
|
|
48
53
|
//# sourceMappingURL=ServerRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerRequest.js","names":["internal","maxBodySize","TypeId","ServerRequest","serverRequestTag","persistedFormData","schemaHeaders","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaFormDataJson"],"sources":["../../../src/Http/ServerRequest.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,mCAAmC;AAQ7D;AACE;;;;AAIAC,WAAW,QACN,sBAAsB;AAE7B;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBF,QAAQ,CAACE,MAAM;AAkCpD;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CH,QAAQ,CAACI,gBAAgB;AAEjG;;;;AAIA,OAAO,MAAMC,iBAAiB,GAI1BL,QAAQ,CAACK,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,aAAa,GAEqCN,QAAQ,CAACM,aAAa;AAErF;;;;AAIA,OAAO,MAAMC,cAAc,GAEyDP,QAAQ,CAACO,cAAc;AAE3G;;;;AAIA,OAAO,MAAMC,mBAAmB,GAEoDR,QAAQ,CAACQ,mBAAmB;AAEhH;;;;AAIA,OAAO,MAAMC,cAAc,GAMvBT,QAAQ,CAACS,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,kBAAkB,GAQ3BV,QAAQ,CAACU,kBAAkB"}
|
|
1
|
+
{"version":3,"file":"ServerRequest.js","names":["internal","maxBodySize","TypeId","ServerRequest","serverRequestTag","persistedFormData","schemaHeaders","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaFormDataJson","fromWeb"],"sources":["../../../src/Http/ServerRequest.ts"],"sourcesContent":[null],"mappings":"AAUA,OAAO,KAAKA,QAAQ,MAAM,mCAAmC;AAQ7D;AACE;;;;AAIAC,WAAW,QACN,sBAAsB;AAE7B;;;;AAIA,OAAO,MAAMC,MAAM,GAAkBF,QAAQ,CAACE,MAAM;AAkCpD;;;;AAIA,OAAO,MAAMC,aAAa,GAA8CH,QAAQ,CAACI,gBAAgB;AAEjG;;;;AAIA,OAAO,MAAMC,iBAAiB,GAI1BL,QAAQ,CAACK,iBAAiB;AAE9B;;;;AAIA,OAAO,MAAMC,aAAa,GAEqCN,QAAQ,CAACM,aAAa;AAErF;;;;AAIA,OAAO,MAAMC,cAAc,GAEyDP,QAAQ,CAACO,cAAc;AAE3G;;;;AAIA,OAAO,MAAMC,mBAAmB,GAEoDR,QAAQ,CAACQ,mBAAmB;AAEhH;;;;AAIA,OAAO,MAAMC,cAAc,GAMvBT,QAAQ,CAACS,cAAc;AAE3B;;;;AAIA,OAAO,MAAMC,kBAAkB,GAQ3BV,QAAQ,CAACU,kBAAkB;AAE/B;;;;AAIA,OAAO,MAAMC,OAAO,GAAwCX,QAAQ,CAACW,OAAO"}
|
|
@@ -88,4 +88,9 @@ export const setBody = internal.setBody;
|
|
|
88
88
|
* @category combinators
|
|
89
89
|
*/
|
|
90
90
|
export const setStatus = internal.setStatus;
|
|
91
|
+
/**
|
|
92
|
+
* @since 1.0.0
|
|
93
|
+
* @category conversions
|
|
94
|
+
*/
|
|
95
|
+
export const toWeb = internal.toWeb;
|
|
91
96
|
//# sourceMappingURL=ServerResponse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerResponse.js","names":["internal","TypeId","Symbol","for","isServerResponse","empty","uint8Array","text","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","setBody","setStatus"],"sources":["../../../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"AAQA,OAAO,KAAKA,QAAQ,MAAM,oCAAoC;AAM9D;;;;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,GAG2CR,QAAQ,CAACQ,IAAI;AAEzE;;;;AAIA,OAAO,MAAMC,UAAU,GAGrBT,QAAQ,CAACS,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,UAAU,GAAqEV,QAAQ,CAACU,UAAU;AAE/G;;;;AAIA,OAAO,MAAMC,SAAS,GAA6EX,QAAQ,CAACW,SAAS;AAErH;;;;AAIA,OAAO,MAAMC,GAAG,GAAyDZ,QAAQ,CAACY,GAAG;AAErF;;;;AAIA,OAAO,MAAMC,QAAQ,GAAsEb,QAAQ,CAACa,QAAQ;AAE5G;;;;AAIA,OAAO,MAAMC,MAAM,GACjBd,QAAQ,CAACc,MAAM;AAEjB;;;;AAIA,OAAO,MAAMC,IAAI,GAGoEf,QAAQ,CAACe,IAAI;AAElG;;;;AAIA,OAAO,MAAMC,OAAO,GAG2ChB,QAAQ,CAACgB,OAAO;AAE/E;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBjB,QAAQ,CAACiB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,UAAU,GAGnBlB,QAAQ,CAACkB,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,OAAO,GAGhBnB,QAAQ,CAACmB,OAAO;AAEpB;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBpB,QAAQ,CAACoB,SAAS"}
|
|
1
|
+
{"version":3,"file":"ServerResponse.js","names":["internal","TypeId","Symbol","for","isServerResponse","empty","uint8Array","text","json","schemaJson","unsafeJson","urlParams","raw","formData","stream","file","fileWeb","setHeader","setHeaders","setBody","setStatus","toWeb"],"sources":["../../../src/Http/ServerResponse.ts"],"sourcesContent":[null],"mappings":"AAQA,OAAO,KAAKA,QAAQ,MAAM,oCAAoC;AAM9D;;;;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,GAG2CR,QAAQ,CAACQ,IAAI;AAEzE;;;;AAIA,OAAO,MAAMC,UAAU,GAGrBT,QAAQ,CAACS,UAAU;AAErB;;;;AAIA,OAAO,MAAMC,UAAU,GAAqEV,QAAQ,CAACU,UAAU;AAE/G;;;;AAIA,OAAO,MAAMC,SAAS,GAA6EX,QAAQ,CAACW,SAAS;AAErH;;;;AAIA,OAAO,MAAMC,GAAG,GAAyDZ,QAAQ,CAACY,GAAG;AAErF;;;;AAIA,OAAO,MAAMC,QAAQ,GAAsEb,QAAQ,CAACa,QAAQ;AAE5G;;;;AAIA,OAAO,MAAMC,MAAM,GACjBd,QAAQ,CAACc,MAAM;AAEjB;;;;AAIA,OAAO,MAAMC,IAAI,GAGoEf,QAAQ,CAACe,IAAI;AAElG;;;;AAIA,OAAO,MAAMC,OAAO,GAG2ChB,QAAQ,CAACgB,OAAO;AAE/E;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBjB,QAAQ,CAACiB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,UAAU,GAGnBlB,QAAQ,CAACkB,UAAU;AAEvB;;;;AAIA,OAAO,MAAMC,OAAO,GAGhBnB,QAAQ,CAACmB,OAAO;AAEpB;;;;AAIA,OAAO,MAAMC,SAAS,GAGlBpB,QAAQ,CAACoB,SAAS;AAEtB;;;;AAIA,OAAO,MAAMC,KAAK,GAAkErB,QAAQ,CAACqB,KAAK"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as FiberRef from "effect/FiberRef";
|
|
3
|
+
import * as Function from "effect/Function";
|
|
3
4
|
import { globalValue } from "effect/GlobalValue";
|
|
4
5
|
import * as Headers from "../../Http/Headers.js";
|
|
5
6
|
import * as IncomingMessage from "../../Http/IncomingMessage.js";
|
|
@@ -11,6 +12,10 @@ export const loggerDisabled = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for(
|
|
|
11
12
|
/** @internal */
|
|
12
13
|
export const withLoggerDisabled = self => Effect.zipRight(FiberRef.set(loggerDisabled, true), self);
|
|
13
14
|
/** @internal */
|
|
15
|
+
export const currentTracerDisabledWhen = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for("@effect/platform/Http/Middleware/tracerDisabledWhen"), () => FiberRef.unsafeMake(Function.constFalse));
|
|
16
|
+
/** @internal */
|
|
17
|
+
export const withTracerDisabledWhen = /*#__PURE__*/Function.dual(2, (self, pred) => Effect.locally(self, currentTracerDisabledWhen, pred));
|
|
18
|
+
/** @internal */
|
|
14
19
|
export const logger = /*#__PURE__*/make(httpApp => {
|
|
15
20
|
let counter = 0;
|
|
16
21
|
return Effect.flatMap(ServerRequest.ServerRequest, request => Effect.withLogSpan(Effect.onExit(httpApp, exit => Effect.flatMap(FiberRef.get(loggerDisabled), disabled => {
|
|
@@ -31,7 +36,7 @@ export const logger = /*#__PURE__*/make(httpApp => {
|
|
|
31
36
|
/** @internal */
|
|
32
37
|
export const tracer = /*#__PURE__*/make(httpApp => {
|
|
33
38
|
const appWithStatus = Effect.tap(httpApp, response => Effect.annotateCurrentSpan("http.status", response.status));
|
|
34
|
-
return Effect.flatMap(ServerRequest.ServerRequest, request => Effect.flatMap(request.headers["x-b3-traceid"] || request.headers["b3"] ? Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined) : Effect.succeed(undefined), parent => Effect.withSpan(appWithStatus, `http ${request.method}`, {
|
|
39
|
+
return Effect.flatMap(Effect.zip(ServerRequest.ServerRequest, FiberRef.get(currentTracerDisabledWhen)), ([request, disabledWhen]) => Effect.flatMap(request.headers["x-b3-traceid"] || request.headers["b3"] ? Effect.orElseSucceed(IncomingMessage.schemaExternalSpan(request), () => undefined) : Effect.succeed(undefined), parent => disabledWhen(request) ? httpApp : Effect.withSpan(appWithStatus, `http ${request.method}`, {
|
|
35
40
|
attributes: {
|
|
36
41
|
"http.method": request.method,
|
|
37
42
|
"http.url": request.url
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","names":["Effect","FiberRef","globalValue","Headers","IncomingMessage","ServerRequest","make","middleware","loggerDisabled","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","set","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","get","disabled","unit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","appWithStatus","tap","response","annotateCurrentSpan","headers","orElseSucceed","schemaExternalSpan","undefined","succeed","parent","withSpan","attributes","xForwardedHeaders","updateService","modify","remoteAddress","split","trim"],"sources":["../../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,WAAW,QAAQ,oBAAoB;
|
|
1
|
+
{"version":3,"file":"middleware.js","names":["Effect","FiberRef","Function","globalValue","Headers","IncomingMessage","ServerRequest","make","middleware","loggerDisabled","Symbol","for","unsafeMake","withLoggerDisabled","self","zipRight","set","currentTracerDisabledWhen","constFalse","withTracerDisabledWhen","dual","pred","locally","logger","httpApp","counter","flatMap","request","withLogSpan","onExit","exit","get","disabled","unit","_tag","annotateLogs","log","cause","method","url","value","status","tracer","appWithStatus","tap","response","annotateCurrentSpan","zip","disabledWhen","headers","orElseSucceed","schemaExternalSpan","undefined","succeed","parent","withSpan","attributes","xForwardedHeaders","updateService","modify","remoteAddress","split","trim"],"sources":["../../../../src/internal/http/middleware.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import * as Context from "effect/Context";
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
|
+
import * as Option from "effect/Option";
|
|
4
|
+
import * as Stream from "effect/Stream";
|
|
3
5
|
import * as FormData from "../../Http/FormData.js";
|
|
6
|
+
import * as Headers from "../../Http/Headers.js";
|
|
4
7
|
import * as IncomingMessage from "../../Http/IncomingMessage.js";
|
|
5
8
|
import * as Error from "../../Http/ServerError.js";
|
|
9
|
+
import * as UrlParams from "../../Http/UrlParams.js";
|
|
6
10
|
/** @internal */
|
|
7
11
|
export const TypeId = /*#__PURE__*/Symbol.for("@effect/platform/Http/ServerRequest");
|
|
8
12
|
/** @internal */
|
|
@@ -38,4 +42,110 @@ export const schemaFormDataJson = schema => {
|
|
|
38
42
|
error: error.error
|
|
39
43
|
})))));
|
|
40
44
|
};
|
|
45
|
+
/** @internal */
|
|
46
|
+
export const fromWeb = request => new ServerRequestImpl(request, request.url);
|
|
47
|
+
class ServerRequestImpl {
|
|
48
|
+
source;
|
|
49
|
+
url;
|
|
50
|
+
headersOverride;
|
|
51
|
+
remoteAddressOverride;
|
|
52
|
+
[TypeId];
|
|
53
|
+
[IncomingMessage.TypeId];
|
|
54
|
+
constructor(source, url, headersOverride, remoteAddressOverride) {
|
|
55
|
+
this.source = source;
|
|
56
|
+
this.url = url;
|
|
57
|
+
this.headersOverride = headersOverride;
|
|
58
|
+
this.remoteAddressOverride = remoteAddressOverride;
|
|
59
|
+
this[TypeId] = TypeId;
|
|
60
|
+
this[IncomingMessage.TypeId] = IncomingMessage.TypeId;
|
|
61
|
+
}
|
|
62
|
+
modify(options) {
|
|
63
|
+
return new ServerRequestImpl(this.source, options.url ?? this.url, options.headers ?? this.headersOverride, options.remoteAddress ?? this.remoteAddressOverride);
|
|
64
|
+
}
|
|
65
|
+
get method() {
|
|
66
|
+
return this.source.method.toUpperCase();
|
|
67
|
+
}
|
|
68
|
+
get originalUrl() {
|
|
69
|
+
return this.source.url;
|
|
70
|
+
}
|
|
71
|
+
get remoteAddress() {
|
|
72
|
+
return this.remoteAddressOverride ? Option.some(this.remoteAddressOverride) : Option.none();
|
|
73
|
+
}
|
|
74
|
+
get headers() {
|
|
75
|
+
this.headersOverride ??= Headers.fromInput(this.source.headers);
|
|
76
|
+
return this.headersOverride;
|
|
77
|
+
}
|
|
78
|
+
get stream() {
|
|
79
|
+
return this.source.body ? Stream.fromReadableStream(() => this.source.body, _ => Error.RequestError({
|
|
80
|
+
request: this,
|
|
81
|
+
reason: "Decode",
|
|
82
|
+
error: _
|
|
83
|
+
})) : Stream.fail(Error.RequestError({
|
|
84
|
+
request: this,
|
|
85
|
+
reason: "Decode",
|
|
86
|
+
error: "can not create stream from empty body"
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
textEffect;
|
|
90
|
+
get text() {
|
|
91
|
+
if (this.textEffect) {
|
|
92
|
+
return this.textEffect;
|
|
93
|
+
}
|
|
94
|
+
this.textEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
|
|
95
|
+
try: () => this.source.text(),
|
|
96
|
+
catch: error => Error.RequestError({
|
|
97
|
+
request: this,
|
|
98
|
+
reason: "Decode",
|
|
99
|
+
error
|
|
100
|
+
})
|
|
101
|
+
})));
|
|
102
|
+
return this.textEffect;
|
|
103
|
+
}
|
|
104
|
+
get json() {
|
|
105
|
+
return Effect.tryMap(this.text, {
|
|
106
|
+
try: _ => JSON.parse(_),
|
|
107
|
+
catch: error => Error.RequestError({
|
|
108
|
+
request: this,
|
|
109
|
+
reason: "Decode",
|
|
110
|
+
error
|
|
111
|
+
})
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
get urlParamsBody() {
|
|
115
|
+
return Effect.flatMap(this.text, _ => Effect.try({
|
|
116
|
+
try: () => UrlParams.fromInput(new URLSearchParams(_)),
|
|
117
|
+
catch: error => Error.RequestError({
|
|
118
|
+
request: this,
|
|
119
|
+
reason: "Decode",
|
|
120
|
+
error
|
|
121
|
+
})
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
formDataEffect;
|
|
125
|
+
get formData() {
|
|
126
|
+
if (this.formDataEffect) {
|
|
127
|
+
return this.formDataEffect;
|
|
128
|
+
}
|
|
129
|
+
this.formDataEffect = Effect.runSync(Effect.cached(FormData.formData(this.formDataStream)));
|
|
130
|
+
return this.formDataEffect;
|
|
131
|
+
}
|
|
132
|
+
get formDataStream() {
|
|
133
|
+
return Stream.pipeThroughChannel(Stream.mapError(this.stream, error => FormData.FormDataError("InternalError", error)), FormData.makeChannel(this.headers));
|
|
134
|
+
}
|
|
135
|
+
arrayBufferEffect;
|
|
136
|
+
get arrayBuffer() {
|
|
137
|
+
if (this.arrayBuffer) {
|
|
138
|
+
return this.arrayBuffer;
|
|
139
|
+
}
|
|
140
|
+
this.arrayBufferEffect = Effect.runSync(Effect.cached(Effect.tryPromise({
|
|
141
|
+
try: () => this.source.arrayBuffer(),
|
|
142
|
+
catch: error => Error.RequestError({
|
|
143
|
+
request: this,
|
|
144
|
+
reason: "Decode",
|
|
145
|
+
error
|
|
146
|
+
})
|
|
147
|
+
})));
|
|
148
|
+
return this.arrayBufferEffect;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
41
151
|
//# sourceMappingURL=serverRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverRequest.js","names":["Context","Effect","FormData","IncomingMessage","Error","TypeId","Symbol","for","serverRequestTag","Tag","persistedFormData","flatMap","request","formData","schemaHeaders","schema","parse","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaPersisted","schemaFormDataJson","schemaJson","field","catchTag","error","fail","RequestError","reason"],"sources":["../../../../src/internal/http/serverRequest.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,wBAAwB;AAClD,OAAO,KAAKC,eAAe,MAAM,+BAA+B;
|
|
1
|
+
{"version":3,"file":"serverRequest.js","names":["Context","Effect","Option","Stream","FormData","Headers","IncomingMessage","Error","UrlParams","TypeId","Symbol","for","serverRequestTag","Tag","persistedFormData","flatMap","request","formData","schemaHeaders","schema","parse","schemaBodyJson","schemaBodyUrlParams","schemaFormData","schemaPersisted","schemaFormDataJson","schemaJson","field","catchTag","error","fail","RequestError","reason","fromWeb","ServerRequestImpl","url","source","headersOverride","remoteAddressOverride","constructor","modify","options","headers","remoteAddress","method","toUpperCase","originalUrl","some","none","fromInput","stream","body","fromReadableStream","_","textEffect","text","runSync","cached","tryPromise","try","catch","json","tryMap","JSON","urlParamsBody","URLSearchParams","formDataEffect","formDataStream","pipeThroughChannel","mapError","FormDataError","makeChannel","arrayBufferEffect","arrayBuffer"],"sources":["../../../../src/internal/http/serverRequest.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as Effectable from "effect/Effectable";
|
|
3
3
|
import { dual } from "effect/Function";
|
|
4
|
+
import * as Stream from "effect/Stream";
|
|
4
5
|
import * as Headers from "../../Http/Headers.js";
|
|
5
6
|
import * as Platform from "../../Http/Platform.js";
|
|
6
7
|
import * as UrlParams from "../../Http/UrlParams.js";
|
|
@@ -100,4 +101,50 @@ export const setBody = /*#__PURE__*/dual(2, (self, body) => {
|
|
|
100
101
|
}
|
|
101
102
|
return new ServerResponseImpl(self.status, self.statusText, headers, body);
|
|
102
103
|
});
|
|
104
|
+
/** @internal */
|
|
105
|
+
export const toWeb = (response, withoutBody = false) => {
|
|
106
|
+
if (withoutBody) {
|
|
107
|
+
return new Response(undefined, {
|
|
108
|
+
status: response.status,
|
|
109
|
+
statusText: response.statusText,
|
|
110
|
+
headers: response.headers
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const body = response.body;
|
|
114
|
+
switch (body._tag) {
|
|
115
|
+
case "Empty":
|
|
116
|
+
{
|
|
117
|
+
return new Response(undefined, {
|
|
118
|
+
status: response.status,
|
|
119
|
+
statusText: response.statusText,
|
|
120
|
+
headers: response.headers
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
case "Uint8Array":
|
|
124
|
+
case "Raw":
|
|
125
|
+
{
|
|
126
|
+
return new Response(body.body, {
|
|
127
|
+
status: response.status,
|
|
128
|
+
statusText: response.statusText,
|
|
129
|
+
headers: response.headers
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
case "FormData":
|
|
133
|
+
{
|
|
134
|
+
return new Response(body.formData, {
|
|
135
|
+
status: response.status,
|
|
136
|
+
statusText: response.statusText,
|
|
137
|
+
headers: response.headers
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
case "Stream":
|
|
141
|
+
{
|
|
142
|
+
return new Response(Stream.toReadableStream(body.stream), {
|
|
143
|
+
status: response.status,
|
|
144
|
+
statusText: response.statusText,
|
|
145
|
+
headers: response.headers
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
103
150
|
//# sourceMappingURL=serverResponse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverResponse.js","names":["Effect","Effectable","dual","Headers","Platform","UrlParams","internalBody","TypeId","Symbol","for","ServerResponseImpl","StructuralClass","status","statusText","body","headers","constructor","contentType","contentLength","newHeaders","toString","commit","succeed","toJSON","_id","isServerResponse","u","empty","options","uint8Array","getContentType","text","json","map","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","flatMap","platform","fileResponse","fileWeb","fileWebResponse","urlParams","fromInput","raw","formData","stream","setHeader","self","key","value","set","setHeaders","input","setAll","setStatus","args","setBody","_tag","remove"],"sources":["../../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"AACA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,SAASC,IAAI,QAAQ,iBAAiB;
|
|
1
|
+
{"version":3,"file":"serverResponse.js","names":["Effect","Effectable","dual","Stream","Headers","Platform","UrlParams","internalBody","TypeId","Symbol","for","ServerResponseImpl","StructuralClass","status","statusText","body","headers","constructor","contentType","contentLength","newHeaders","toString","commit","succeed","toJSON","_id","isServerResponse","u","empty","options","uint8Array","getContentType","text","json","map","unsafeJson","schemaJson","schema","encode","jsonSchema","file","path","flatMap","platform","fileResponse","fileWeb","fileWebResponse","urlParams","fromInput","raw","formData","stream","setHeader","self","key","value","set","setHeaders","input","setAll","setStatus","args","setBody","_tag","remove","toWeb","response","withoutBody","Response","undefined","toReadableStream"],"sources":["../../../../src/internal/http/serverResponse.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Http/App.ts
CHANGED
|
@@ -2,14 +2,18 @@
|
|
|
2
2
|
* @since 1.0.0
|
|
3
3
|
*/
|
|
4
4
|
import * as Effect from "effect/Effect"
|
|
5
|
+
import * as Exit from "effect/Exit"
|
|
5
6
|
import * as FiberRef from "effect/FiberRef"
|
|
6
7
|
import { dual } from "effect/Function"
|
|
7
8
|
import { globalValue } from "effect/GlobalValue"
|
|
9
|
+
import * as Layer from "effect/Layer"
|
|
8
10
|
import * as ReadonlyArray from "effect/ReadonlyArray"
|
|
11
|
+
import * as Runtime from "effect/Runtime"
|
|
12
|
+
import * as Scope from "effect/Scope"
|
|
9
13
|
import * as internalMiddleware from "../internal/http/middleware.js"
|
|
10
14
|
import type * as ServerError from "./ServerError.js"
|
|
11
|
-
import
|
|
12
|
-
import
|
|
15
|
+
import * as ServerRequest from "./ServerRequest.js"
|
|
16
|
+
import * as ServerResponse from "./ServerResponse.js"
|
|
13
17
|
|
|
14
18
|
/**
|
|
15
19
|
* @since 1.0.0
|
|
@@ -97,3 +101,47 @@ export const withPreResponseHandler = dual<
|
|
|
97
101
|
currentPreResponseHandlers,
|
|
98
102
|
ReadonlyArray.append(handler)
|
|
99
103
|
))
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @since 1.0.0
|
|
107
|
+
* @category conversions
|
|
108
|
+
*/
|
|
109
|
+
export const toWebHandlerRuntime = <R>(runtime: Runtime.Runtime<R>) => {
|
|
110
|
+
const run = Runtime.runPromise(runtime)
|
|
111
|
+
return <E>(self: Default<R, E>) => {
|
|
112
|
+
self = withDefaultMiddleware(self)
|
|
113
|
+
return (request: Request): Promise<Response> => {
|
|
114
|
+
const req = ServerRequest.fromWeb(request)
|
|
115
|
+
return run(Effect.map(
|
|
116
|
+
Effect.provideService(self, ServerRequest.ServerRequest, req),
|
|
117
|
+
(res) => ServerResponse.toWeb(res, req.method === "HEAD")
|
|
118
|
+
))
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @since 1.0.0
|
|
125
|
+
* @category conversions
|
|
126
|
+
*/
|
|
127
|
+
export const toWebHandler: <E>(self: Default<never, E>) => (request: Request) => Promise<Response> =
|
|
128
|
+
toWebHandlerRuntime(Runtime.defaultRuntime)
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* @since 1.0.0
|
|
132
|
+
* @category conversions
|
|
133
|
+
*/
|
|
134
|
+
export const toWebHandlerLayer = <R, E, RE>(
|
|
135
|
+
self: Default<R, E>,
|
|
136
|
+
layer: Layer.Layer<never, RE, R>
|
|
137
|
+
): {
|
|
138
|
+
readonly close: () => Promise<void>
|
|
139
|
+
readonly handler: (request: Request) => Promise<Response>
|
|
140
|
+
} => {
|
|
141
|
+
const scope = Effect.runSync(Scope.make())
|
|
142
|
+
const close = () => Effect.runPromise(Scope.close(scope, Exit.unit))
|
|
143
|
+
const build = Effect.map(Layer.toRuntime(layer), (_) => toWebHandlerRuntime(_)(self))
|
|
144
|
+
const runner = Effect.runPromise(Scope.extend(build, scope))
|
|
145
|
+
const handler = (request: Request): Promise<Response> => runner.then((handler) => handler(request))
|
|
146
|
+
return { close, handler } as const
|
|
147
|
+
}
|