@effect/platform-node 0.104.1 → 4.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Mime.d.ts +15 -0
- package/dist/Mime.d.ts.map +1 -0
- package/dist/Mime.js +16 -0
- package/dist/Mime.js.map +1 -0
- package/dist/NodeChildProcessSpawner.d.ts +7 -0
- package/dist/NodeChildProcessSpawner.d.ts.map +1 -0
- package/dist/NodeChildProcessSpawner.js +7 -0
- package/dist/NodeChildProcessSpawner.js.map +1 -0
- package/dist/NodeClusterHttp.d.ts +44 -0
- package/dist/NodeClusterHttp.d.ts.map +1 -0
- package/dist/{esm/NodeClusterHttp.js → NodeClusterHttp.js} +14 -18
- package/dist/NodeClusterHttp.js.map +1 -0
- package/dist/{dts/NodeClusterSocket.d.ts → NodeClusterSocket.d.ts} +13 -13
- package/dist/NodeClusterSocket.d.ts.map +1 -0
- package/dist/{esm/NodeClusterSocket.js → NodeClusterSocket.js} +13 -13
- package/dist/NodeClusterSocket.js.map +1 -0
- package/dist/NodeFileSystem.d.ts +8 -0
- package/dist/NodeFileSystem.d.ts.map +1 -0
- package/dist/NodeFileSystem.js.map +1 -0
- package/dist/NodeHttpClient.d.ts +110 -0
- package/dist/NodeHttpClient.d.ts.map +1 -0
- package/dist/NodeHttpClient.js +446 -0
- package/dist/NodeHttpClient.js.map +1 -0
- package/dist/NodeHttpIncomingMessage.d.ts +35 -0
- package/dist/NodeHttpIncomingMessage.d.ts.map +1 -0
- package/dist/NodeHttpIncomingMessage.js +77 -0
- package/dist/NodeHttpIncomingMessage.js.map +1 -0
- package/dist/NodeHttpPlatform.d.ts +26 -0
- package/dist/NodeHttpPlatform.d.ts.map +1 -0
- package/dist/{esm/internal/httpPlatform.js → NodeHttpPlatform.js} +20 -11
- package/dist/NodeHttpPlatform.js.map +1 -0
- package/dist/NodeHttpServer.d.ts +73 -0
- package/dist/NodeHttpServer.d.ts.map +1 -0
- package/dist/NodeHttpServer.js +376 -0
- package/dist/NodeHttpServer.js.map +1 -0
- package/dist/NodeHttpServerRequest.d.ts +16 -0
- package/dist/NodeHttpServerRequest.d.ts.map +1 -0
- package/dist/NodeHttpServerRequest.js +14 -0
- package/dist/NodeHttpServerRequest.js.map +1 -0
- package/dist/NodeMultipart.d.ts +26 -0
- package/dist/NodeMultipart.d.ts.map +1 -0
- package/dist/NodeMultipart.js +131 -0
- package/dist/NodeMultipart.js.map +1 -0
- package/dist/NodePath.d.ts +18 -0
- package/dist/NodePath.d.ts.map +1 -0
- package/dist/NodePath.js.map +1 -0
- package/dist/NodeRedis.d.ts +31 -0
- package/dist/NodeRedis.d.ts.map +1 -0
- package/dist/NodeRedis.js +51 -0
- package/dist/NodeRedis.js.map +1 -0
- package/dist/NodeRuntime.d.ts +94 -0
- package/dist/NodeRuntime.d.ts.map +1 -0
- package/dist/NodeRuntime.js +33 -0
- package/dist/NodeRuntime.js.map +1 -0
- package/dist/NodeServices.d.ts +20 -0
- package/dist/NodeServices.d.ts.map +1 -0
- package/dist/NodeServices.js +12 -0
- package/dist/NodeServices.js.map +1 -0
- package/dist/NodeSink.d.ts.map +1 -0
- package/dist/NodeSink.js.map +1 -0
- package/dist/NodeSocket.d.ts +23 -0
- package/dist/NodeSocket.d.ts.map +1 -0
- package/dist/{esm/NodeSocket.js → NodeSocket.js} +9 -8
- package/dist/NodeSocket.js.map +1 -0
- package/dist/NodeSocketServer.d.ts.map +1 -0
- package/dist/NodeSocketServer.js.map +1 -0
- package/dist/NodeStdio.d.ts +8 -0
- package/dist/NodeStdio.d.ts.map +1 -0
- package/dist/NodeStdio.js +10 -0
- package/dist/NodeStdio.js.map +1 -0
- package/dist/{dts/NodeStream.d.ts → NodeStream.d.ts} +1 -1
- package/dist/NodeStream.d.ts.map +1 -0
- package/dist/{esm/NodeStream.js → NodeStream.js} +1 -1
- package/dist/NodeStream.js.map +1 -0
- package/dist/{dts/NodeTerminal.d.ts → NodeTerminal.d.ts} +2 -2
- package/dist/NodeTerminal.d.ts.map +1 -0
- package/dist/{esm/NodeTerminal.js → NodeTerminal.js} +1 -1
- package/dist/NodeTerminal.js.map +1 -0
- package/dist/NodeWorker.d.ts +15 -0
- package/dist/NodeWorker.d.ts.map +1 -0
- package/dist/NodeWorker.js +81 -0
- package/dist/NodeWorker.js.map +1 -0
- package/dist/NodeWorkerRunner.d.ts +8 -0
- package/dist/NodeWorkerRunner.d.ts.map +1 -0
- package/dist/NodeWorkerRunner.js +85 -0
- package/dist/NodeWorkerRunner.js.map +1 -0
- package/dist/{dts/Undici.d.ts → Undici.d.ts} +3 -3
- package/dist/Undici.d.ts.map +1 -0
- package/dist/{esm/Undici.js → Undici.js} +3 -3
- package/dist/Undici.js.map +1 -0
- package/dist/index.d.ts +102 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/{esm/index.js → index.js} +25 -7
- package/dist/index.js.map +1 -0
- package/package.json +60 -213
- package/src/Mime.ts +18 -0
- package/src/NodeChildProcessSpawner.ts +6 -0
- package/src/NodeClusterHttp.ts +33 -35
- package/src/NodeClusterSocket.ts +23 -24
- package/src/NodeFileSystem.ts +3 -3
- package/src/NodeHttpClient.ts +506 -70
- package/src/NodeHttpIncomingMessage.ts +105 -0
- package/src/NodeHttpPlatform.ts +44 -10
- package/src/NodeHttpServer.ts +539 -102
- package/src/NodeHttpServerRequest.ts +8 -8
- package/src/NodeMultipart.ts +156 -1
- package/src/NodePath.ts +5 -6
- package/src/NodeRedis.ts +74 -0
- package/src/NodeRuntime.ts +95 -3
- package/src/NodeServices.ts +34 -0
- package/src/NodeSocket.ts +24 -16
- package/src/NodeStdio.ts +12 -0
- package/src/NodeStream.ts +1 -1
- package/src/NodeTerminal.ts +2 -2
- package/src/NodeWorker.ts +89 -20
- package/src/NodeWorkerRunner.ts +89 -12
- package/src/Undici.ts +7 -7
- package/src/index.ts +44 -21
- package/NodeClusterHttp/package.json +0 -6
- package/NodeClusterSocket/package.json +0 -6
- package/NodeCommandExecutor/package.json +0 -6
- package/NodeContext/package.json +0 -6
- package/NodeFileSystem/ParcelWatcher/package.json +0 -6
- package/NodeFileSystem/package.json +0 -6
- package/NodeHttpClient/package.json +0 -6
- package/NodeHttpPlatform/package.json +0 -6
- package/NodeHttpServer/package.json +0 -6
- package/NodeHttpServerRequest/package.json +0 -6
- package/NodeKeyValueStore/package.json +0 -6
- package/NodeMultipart/package.json +0 -6
- package/NodePath/package.json +0 -6
- package/NodeRuntime/package.json +0 -6
- package/NodeSink/package.json +0 -6
- package/NodeSocket/package.json +0 -6
- package/NodeSocketServer/package.json +0 -6
- package/NodeStream/package.json +0 -6
- package/NodeTerminal/package.json +0 -6
- package/NodeWorker/package.json +0 -6
- package/NodeWorkerRunner/package.json +0 -6
- package/Undici/package.json +0 -6
- package/dist/cjs/NodeClusterHttp.js +0 -61
- package/dist/cjs/NodeClusterHttp.js.map +0 -1
- package/dist/cjs/NodeClusterSocket.js +0 -77
- package/dist/cjs/NodeClusterSocket.js.map +0 -1
- package/dist/cjs/NodeCommandExecutor.js +0 -18
- package/dist/cjs/NodeCommandExecutor.js.map +0 -1
- package/dist/cjs/NodeContext.js +0 -24
- package/dist/cjs/NodeContext.js.map +0 -1
- package/dist/cjs/NodeFileSystem/ParcelWatcher.js +0 -18
- package/dist/cjs/NodeFileSystem/ParcelWatcher.js.map +0 -1
- package/dist/cjs/NodeFileSystem.js +0 -18
- package/dist/cjs/NodeFileSystem.js.map +0 -1
- package/dist/cjs/NodeHttpClient.js +0 -92
- package/dist/cjs/NodeHttpClient.js.map +0 -1
- package/dist/cjs/NodeHttpPlatform.js +0 -19
- package/dist/cjs/NodeHttpPlatform.js.map +0 -1
- package/dist/cjs/NodeHttpServer.js +0 -68
- package/dist/cjs/NodeHttpServer.js.map +0 -1
- package/dist/cjs/NodeHttpServerRequest.js +0 -19
- package/dist/cjs/NodeHttpServerRequest.js.map +0 -1
- package/dist/cjs/NodeKeyValueStore.js +0 -18
- package/dist/cjs/NodeKeyValueStore.js.map +0 -1
- package/dist/cjs/NodeMultipart.js +0 -17
- package/dist/cjs/NodeMultipart.js.map +0 -1
- package/dist/cjs/NodePath.js +0 -28
- package/dist/cjs/NodePath.js.map +0 -1
- package/dist/cjs/NodeRuntime.js +0 -18
- package/dist/cjs/NodeRuntime.js.map +0 -1
- package/dist/cjs/NodeSink.js +0 -17
- package/dist/cjs/NodeSink.js.map +0 -1
- package/dist/cjs/NodeSocket.js +0 -51
- package/dist/cjs/NodeSocket.js.map +0 -1
- package/dist/cjs/NodeSocketServer.js +0 -17
- package/dist/cjs/NodeSocketServer.js.map +0 -1
- package/dist/cjs/NodeStream.js +0 -17
- package/dist/cjs/NodeStream.js.map +0 -1
- package/dist/cjs/NodeTerminal.js +0 -23
- package/dist/cjs/NodeTerminal.js.map +0 -1
- package/dist/cjs/NodeWorker.js +0 -29
- package/dist/cjs/NodeWorker.js.map +0 -1
- package/dist/cjs/NodeWorkerRunner.js +0 -21
- package/dist/cjs/NodeWorkerRunner.js.map +0 -1
- package/dist/cjs/Undici.js +0 -26
- package/dist/cjs/Undici.js.map +0 -1
- package/dist/cjs/index.js +0 -50
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/internal/httpClient.js +0 -196
- package/dist/cjs/internal/httpClient.js.map +0 -1
- package/dist/cjs/internal/httpClientUndici.js +0 -194
- package/dist/cjs/internal/httpClientUndici.js.map +0 -1
- package/dist/cjs/internal/httpIncomingMessage.js +0 -74
- package/dist/cjs/internal/httpIncomingMessage.js.map +0 -1
- package/dist/cjs/internal/httpPlatform.js +0 -49
- package/dist/cjs/internal/httpPlatform.js.map +0 -1
- package/dist/cjs/internal/httpServer.js +0 -352
- package/dist/cjs/internal/httpServer.js.map +0 -1
- package/dist/cjs/internal/worker.js +0 -82
- package/dist/cjs/internal/worker.js.map +0 -1
- package/dist/cjs/internal/workerRunner.js +0 -83
- package/dist/cjs/internal/workerRunner.js.map +0 -1
- package/dist/dts/NodeClusterHttp.d.ts +0 -41
- package/dist/dts/NodeClusterHttp.d.ts.map +0 -1
- package/dist/dts/NodeClusterSocket.d.ts.map +0 -1
- package/dist/dts/NodeCommandExecutor.d.ts +0 -9
- package/dist/dts/NodeCommandExecutor.d.ts.map +0 -1
- package/dist/dts/NodeContext.d.ts +0 -17
- package/dist/dts/NodeContext.d.ts.map +0 -1
- package/dist/dts/NodeFileSystem/ParcelWatcher.d.ts +0 -8
- package/dist/dts/NodeFileSystem/ParcelWatcher.d.ts.map +0 -1
- package/dist/dts/NodeFileSystem.d.ts +0 -8
- package/dist/dts/NodeFileSystem.d.ts.map +0 -1
- package/dist/dts/NodeHttpClient.d.ts +0 -116
- package/dist/dts/NodeHttpClient.d.ts.map +0 -1
- package/dist/dts/NodeHttpPlatform.d.ts +0 -19
- package/dist/dts/NodeHttpPlatform.d.ts.map +0 -1
- package/dist/dts/NodeHttpServer.d.ts +0 -91
- package/dist/dts/NodeHttpServer.d.ts.map +0 -1
- package/dist/dts/NodeHttpServerRequest.d.ts +0 -16
- package/dist/dts/NodeHttpServerRequest.d.ts.map +0 -1
- package/dist/dts/NodeKeyValueStore.d.ts +0 -9
- package/dist/dts/NodeKeyValueStore.d.ts.map +0 -1
- package/dist/dts/NodeMultipart.d.ts +0 -8
- package/dist/dts/NodeMultipart.d.ts.map +0 -1
- package/dist/dts/NodePath.d.ts +0 -21
- package/dist/dts/NodePath.d.ts.map +0 -1
- package/dist/dts/NodeRuntime.d.ts +0 -7
- package/dist/dts/NodeRuntime.d.ts.map +0 -1
- package/dist/dts/NodeSink.d.ts.map +0 -1
- package/dist/dts/NodeSocket.d.ts +0 -22
- package/dist/dts/NodeSocket.d.ts.map +0 -1
- package/dist/dts/NodeSocketServer.d.ts.map +0 -1
- package/dist/dts/NodeStream.d.ts.map +0 -1
- package/dist/dts/NodeTerminal.d.ts.map +0 -1
- package/dist/dts/NodeWorker.d.ts +0 -28
- package/dist/dts/NodeWorker.d.ts.map +0 -1
- package/dist/dts/NodeWorkerRunner.d.ts +0 -17
- package/dist/dts/NodeWorkerRunner.d.ts.map +0 -1
- package/dist/dts/Undici.d.ts.map +0 -1
- package/dist/dts/index.d.ts +0 -85
- package/dist/dts/index.d.ts.map +0 -1
- package/dist/dts/internal/httpClient.d.ts +0 -2
- package/dist/dts/internal/httpClient.d.ts.map +0 -1
- package/dist/dts/internal/httpClientUndici.d.ts +0 -2
- package/dist/dts/internal/httpClientUndici.d.ts.map +0 -1
- package/dist/dts/internal/httpIncomingMessage.d.ts +0 -2
- package/dist/dts/internal/httpIncomingMessage.d.ts.map +0 -1
- package/dist/dts/internal/httpPlatform.d.ts +0 -2
- package/dist/dts/internal/httpPlatform.d.ts.map +0 -1
- package/dist/dts/internal/httpServer.d.ts +0 -2
- package/dist/dts/internal/httpServer.d.ts.map +0 -1
- package/dist/dts/internal/worker.d.ts +0 -2
- package/dist/dts/internal/worker.d.ts.map +0 -1
- package/dist/dts/internal/workerRunner.d.ts +0 -2
- package/dist/dts/internal/workerRunner.d.ts.map +0 -1
- package/dist/esm/NodeClusterHttp.js.map +0 -1
- package/dist/esm/NodeClusterSocket.js.map +0 -1
- package/dist/esm/NodeCommandExecutor.js +0 -10
- package/dist/esm/NodeCommandExecutor.js.map +0 -1
- package/dist/esm/NodeContext.js +0 -16
- package/dist/esm/NodeContext.js.map +0 -1
- package/dist/esm/NodeFileSystem/ParcelWatcher.js +0 -10
- package/dist/esm/NodeFileSystem/ParcelWatcher.js.map +0 -1
- package/dist/esm/NodeFileSystem.js.map +0 -1
- package/dist/esm/NodeHttpClient.js +0 -84
- package/dist/esm/NodeHttpClient.js.map +0 -1
- package/dist/esm/NodeHttpPlatform.js +0 -12
- package/dist/esm/NodeHttpPlatform.js.map +0 -1
- package/dist/esm/NodeHttpServer.js +0 -61
- package/dist/esm/NodeHttpServer.js.map +0 -1
- package/dist/esm/NodeHttpServerRequest.js +0 -12
- package/dist/esm/NodeHttpServerRequest.js.map +0 -1
- package/dist/esm/NodeKeyValueStore.js +0 -10
- package/dist/esm/NodeKeyValueStore.js.map +0 -1
- package/dist/esm/NodeMultipart.js +0 -8
- package/dist/esm/NodeMultipart.js.map +0 -1
- package/dist/esm/NodePath.js.map +0 -1
- package/dist/esm/NodeRuntime.js +0 -10
- package/dist/esm/NodeRuntime.js.map +0 -1
- package/dist/esm/NodeSink.js.map +0 -1
- package/dist/esm/NodeSocket.js.map +0 -1
- package/dist/esm/NodeSocketServer.js.map +0 -1
- package/dist/esm/NodeStream.js.map +0 -1
- package/dist/esm/NodeTerminal.js.map +0 -1
- package/dist/esm/NodeWorker.js +0 -22
- package/dist/esm/NodeWorker.js.map +0 -1
- package/dist/esm/NodeWorkerRunner.js +0 -13
- package/dist/esm/NodeWorkerRunner.js.map +0 -1
- package/dist/esm/Undici.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/internal/httpClient.js +0 -187
- package/dist/esm/internal/httpClient.js.map +0 -1
- package/dist/esm/internal/httpClientUndici.js +0 -186
- package/dist/esm/internal/httpClientUndici.js.map +0 -1
- package/dist/esm/internal/httpIncomingMessage.js +0 -66
- package/dist/esm/internal/httpIncomingMessage.js.map +0 -1
- package/dist/esm/internal/httpPlatform.js.map +0 -1
- package/dist/esm/internal/httpServer.js +0 -337
- package/dist/esm/internal/httpServer.js.map +0 -1
- package/dist/esm/internal/worker.js +0 -73
- package/dist/esm/internal/worker.js.map +0 -1
- package/dist/esm/internal/workerRunner.js +0 -76
- package/dist/esm/internal/workerRunner.js.map +0 -1
- package/dist/esm/package.json +0 -4
- package/index/package.json +0 -6
- package/src/NodeCommandExecutor.ts +0 -13
- package/src/NodeContext.ts +0 -40
- package/src/NodeFileSystem/ParcelWatcher.ts +0 -12
- package/src/NodeKeyValueStore.ts +0 -15
- package/src/internal/httpClient.ts +0 -260
- package/src/internal/httpClientUndici.ts +0 -231
- package/src/internal/httpIncomingMessage.ts +0 -92
- package/src/internal/httpPlatform.ts +0 -46
- package/src/internal/httpServer.ts +0 -517
- package/src/internal/worker.ts +0 -86
- package/src/internal/workerRunner.ts +0 -77
- /package/dist/{esm/NodeFileSystem.js → NodeFileSystem.js} +0 -0
- /package/dist/{esm/NodePath.js → NodePath.js} +0 -0
- /package/dist/{dts/NodeSink.d.ts → NodeSink.d.ts} +0 -0
- /package/dist/{esm/NodeSink.js → NodeSink.js} +0 -0
- /package/dist/{dts/NodeSocketServer.d.ts → NodeSocketServer.d.ts} +0 -0
- /package/dist/{esm/NodeSocketServer.js → NodeSocketServer.js} +0 -0
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.HttpIncomingMessageImpl = void 0;
|
|
7
|
-
var Headers = _interopRequireWildcard(require("@effect/platform/Headers"));
|
|
8
|
-
var IncomingMessage = _interopRequireWildcard(require("@effect/platform/HttpIncomingMessage"));
|
|
9
|
-
var UrlParams = _interopRequireWildcard(require("@effect/platform/UrlParams"));
|
|
10
|
-
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
11
|
-
var Inspectable = _interopRequireWildcard(require("effect/Inspectable"));
|
|
12
|
-
var Option = _interopRequireWildcard(require("effect/Option"));
|
|
13
|
-
var NodeStream = _interopRequireWildcard(require("../NodeStream.js"));
|
|
14
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
-
/** @internal */
|
|
16
|
-
class HttpIncomingMessageImpl extends Inspectable.Class {
|
|
17
|
-
source;
|
|
18
|
-
onError;
|
|
19
|
-
remoteAddressOverride;
|
|
20
|
-
[IncomingMessage.TypeId];
|
|
21
|
-
constructor(source, onError, remoteAddressOverride) {
|
|
22
|
-
super();
|
|
23
|
-
this.source = source;
|
|
24
|
-
this.onError = onError;
|
|
25
|
-
this.remoteAddressOverride = remoteAddressOverride;
|
|
26
|
-
this[IncomingMessage.TypeId] = IncomingMessage.TypeId;
|
|
27
|
-
}
|
|
28
|
-
get headers() {
|
|
29
|
-
return Headers.fromInput(this.source.headers);
|
|
30
|
-
}
|
|
31
|
-
get remoteAddress() {
|
|
32
|
-
return Option.fromNullable(this.remoteAddressOverride ?? this.source.socket.remoteAddress);
|
|
33
|
-
}
|
|
34
|
-
textEffect;
|
|
35
|
-
get text() {
|
|
36
|
-
if (this.textEffect) {
|
|
37
|
-
return this.textEffect;
|
|
38
|
-
}
|
|
39
|
-
this.textEffect = Effect.runSync(Effect.cached(Effect.flatMap(IncomingMessage.MaxBodySize, maxBodySize => NodeStream.toString(() => this.source, {
|
|
40
|
-
onFailure: this.onError,
|
|
41
|
-
maxBytes: Option.getOrUndefined(maxBodySize)
|
|
42
|
-
}))));
|
|
43
|
-
return this.textEffect;
|
|
44
|
-
}
|
|
45
|
-
get unsafeText() {
|
|
46
|
-
return Effect.runSync(this.text);
|
|
47
|
-
}
|
|
48
|
-
get json() {
|
|
49
|
-
return Effect.tryMap(this.text, {
|
|
50
|
-
try: _ => _ === "" ? null : JSON.parse(_),
|
|
51
|
-
catch: this.onError
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
get unsafeJson() {
|
|
55
|
-
return Effect.runSync(this.json);
|
|
56
|
-
}
|
|
57
|
-
get urlParamsBody() {
|
|
58
|
-
return Effect.flatMap(this.text, _ => Effect.try({
|
|
59
|
-
try: () => UrlParams.fromInput(new URLSearchParams(_)),
|
|
60
|
-
catch: this.onError
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
get stream() {
|
|
64
|
-
return NodeStream.fromReadable(() => this.source, this.onError);
|
|
65
|
-
}
|
|
66
|
-
get arrayBuffer() {
|
|
67
|
-
return Effect.flatMap(IncomingMessage.MaxBodySize, maxBodySize => NodeStream.toUint8Array(() => this.source, {
|
|
68
|
-
onFailure: this.onError,
|
|
69
|
-
maxBytes: Option.getOrUndefined(maxBodySize)
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.HttpIncomingMessageImpl = HttpIncomingMessageImpl;
|
|
74
|
-
//# sourceMappingURL=httpIncomingMessage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpIncomingMessage.js","names":["Headers","_interopRequireWildcard","require","IncomingMessage","UrlParams","Effect","Inspectable","Option","NodeStream","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","HttpIncomingMessageImpl","Class","source","onError","remoteAddressOverride","TypeId","constructor","headers","fromInput","remoteAddress","fromNullable","socket","textEffect","text","runSync","cached","flatMap","MaxBodySize","maxBodySize","toString","onFailure","maxBytes","getOrUndefined","unsafeText","json","tryMap","try","_","JSON","parse","catch","unsafeJson","urlParamsBody","URLSearchParams","stream","fromReadable","arrayBuffer","toUint8Array"],"sources":["../../../src/internal/httpIncomingMessage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.make = exports.layer = void 0;
|
|
7
|
-
var EtagImpl = _interopRequireWildcard(require("@effect/platform/Etag"));
|
|
8
|
-
var Headers = _interopRequireWildcard(require("@effect/platform/Headers"));
|
|
9
|
-
var Platform = _interopRequireWildcard(require("@effect/platform/HttpPlatform"));
|
|
10
|
-
var ServerResponse = _interopRequireWildcard(require("@effect/platform/HttpServerResponse"));
|
|
11
|
-
var _Function = require("effect/Function");
|
|
12
|
-
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
13
|
-
var _mime = _interopRequireDefault(require("mime"));
|
|
14
|
-
var Fs = _interopRequireWildcard(require("node:fs"));
|
|
15
|
-
var _nodeStream = require("node:stream");
|
|
16
|
-
var FileSystem = _interopRequireWildcard(require("../NodeFileSystem.js"));
|
|
17
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
18
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
19
|
-
/** @internal */
|
|
20
|
-
const make = exports.make = /*#__PURE__*/Platform.make({
|
|
21
|
-
fileResponse(path, status, statusText, headers, start, end, contentLength) {
|
|
22
|
-
const stream = Fs.createReadStream(path, {
|
|
23
|
-
start,
|
|
24
|
-
end
|
|
25
|
-
});
|
|
26
|
-
return ServerResponse.raw(stream, {
|
|
27
|
-
headers: {
|
|
28
|
-
...headers,
|
|
29
|
-
"content-type": headers["content-type"] ?? _mime.default.getType(path) ?? "application/octet-stream",
|
|
30
|
-
"content-length": contentLength.toString()
|
|
31
|
-
},
|
|
32
|
-
status,
|
|
33
|
-
statusText
|
|
34
|
-
});
|
|
35
|
-
},
|
|
36
|
-
fileWebResponse(file, status, statusText, headers, _options) {
|
|
37
|
-
return ServerResponse.raw(_nodeStream.Readable.fromWeb(file.stream()), {
|
|
38
|
-
headers: Headers.merge(headers, Headers.unsafeFromRecord({
|
|
39
|
-
"content-type": headers["content-type"] ?? _mime.default.getType(file.name) ?? "application/octet-stream",
|
|
40
|
-
"content-length": file.size.toString()
|
|
41
|
-
})),
|
|
42
|
-
status,
|
|
43
|
-
statusText
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
/** @internal */
|
|
48
|
-
const layer = exports.layer = /*#__PURE__*/(0, _Function.pipe)(/*#__PURE__*/Layer.effect(Platform.HttpPlatform, make), /*#__PURE__*/Layer.provide(FileSystem.layer), /*#__PURE__*/Layer.provide(EtagImpl.layer));
|
|
49
|
-
//# sourceMappingURL=httpPlatform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpPlatform.js","names":["EtagImpl","_interopRequireWildcard","require","Headers","Platform","ServerResponse","_Function","Layer","_mime","_interopRequireDefault","Fs","_nodeStream","FileSystem","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","fileResponse","path","status","statusText","headers","start","end","contentLength","stream","createReadStream","raw","Mime","getType","toString","fileWebResponse","file","_options","Readable","fromWeb","merge","unsafeFromRecord","name","size","layer","pipe","effect","HttpPlatform","provide"],"sources":["../../../src/internal/httpPlatform.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.toServerResponse = exports.toIncomingMessage = exports.makeUpgradeHandler = exports.makeHandler = exports.make = exports.layerTest = exports.layerServer = exports.layerContext = exports.layerConfig = exports.layer = void 0;
|
|
7
|
-
var MultipartNode = _interopRequireWildcard(require("@effect/platform-node-shared/NodeMultipart"));
|
|
8
|
-
var Cookies = _interopRequireWildcard(require("@effect/platform/Cookies"));
|
|
9
|
-
var Etag = _interopRequireWildcard(require("@effect/platform/Etag"));
|
|
10
|
-
var FileSystem = _interopRequireWildcard(require("@effect/platform/FileSystem"));
|
|
11
|
-
var App = _interopRequireWildcard(require("@effect/platform/HttpApp"));
|
|
12
|
-
var IncomingMessage = _interopRequireWildcard(require("@effect/platform/HttpIncomingMessage"));
|
|
13
|
-
var Server = _interopRequireWildcard(require("@effect/platform/HttpServer"));
|
|
14
|
-
var Error = _interopRequireWildcard(require("@effect/platform/HttpServerError"));
|
|
15
|
-
var ServerRequest = _interopRequireWildcard(require("@effect/platform/HttpServerRequest"));
|
|
16
|
-
var Socket = _interopRequireWildcard(require("@effect/platform/Socket"));
|
|
17
|
-
var Cause = _interopRequireWildcard(require("effect/Cause"));
|
|
18
|
-
var Chunk = _interopRequireWildcard(require("effect/Chunk"));
|
|
19
|
-
var Config = _interopRequireWildcard(require("effect/Config"));
|
|
20
|
-
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
21
|
-
var FiberSet = _interopRequireWildcard(require("effect/FiberSet"));
|
|
22
|
-
var _Function = require("effect/Function");
|
|
23
|
-
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
24
|
-
var Option = _interopRequireWildcard(require("effect/Option"));
|
|
25
|
-
var Runtime = _interopRequireWildcard(require("effect/Runtime"));
|
|
26
|
-
var Scope = _interopRequireWildcard(require("effect/Scope"));
|
|
27
|
-
var Stream = _interopRequireWildcard(require("effect/Stream"));
|
|
28
|
-
var Http = _interopRequireWildcard(require("node:http"));
|
|
29
|
-
var _nodeStream = require("node:stream");
|
|
30
|
-
var _promises = require("node:stream/promises");
|
|
31
|
-
var WS = _interopRequireWildcard(require("ws"));
|
|
32
|
-
var NodeContext = _interopRequireWildcard(require("../NodeContext.js"));
|
|
33
|
-
var NodeHttpClient = _interopRequireWildcard(require("../NodeHttpClient.js"));
|
|
34
|
-
var _httpIncomingMessage = require("./httpIncomingMessage.js");
|
|
35
|
-
var internalPlatform = _interopRequireWildcard(require("./httpPlatform.js"));
|
|
36
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
37
|
-
/** @internal */
|
|
38
|
-
const make = (evaluate, options) => Effect.gen(function* () {
|
|
39
|
-
const scope = yield* Effect.scope;
|
|
40
|
-
const server = yield* Effect.acquireRelease(Effect.sync(evaluate), server => Effect.async(resume => {
|
|
41
|
-
if (!server.listening) {
|
|
42
|
-
return resume(Effect.void);
|
|
43
|
-
}
|
|
44
|
-
server.close(error => {
|
|
45
|
-
if (error) {
|
|
46
|
-
resume(Effect.die(error));
|
|
47
|
-
} else {
|
|
48
|
-
resume(Effect.void);
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
}));
|
|
52
|
-
yield* Effect.async(resume => {
|
|
53
|
-
function onError(cause) {
|
|
54
|
-
resume(Effect.fail(new Error.ServeError({
|
|
55
|
-
cause
|
|
56
|
-
})));
|
|
57
|
-
}
|
|
58
|
-
server.on("error", onError);
|
|
59
|
-
server.listen(options, () => {
|
|
60
|
-
server.off("error", onError);
|
|
61
|
-
resume(Effect.void);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
const address = server.address();
|
|
65
|
-
const wss = yield* (0, _Function.pipe)(Effect.acquireRelease(Effect.sync(() => new WS.WebSocketServer({
|
|
66
|
-
noServer: true
|
|
67
|
-
})), wss => Effect.async(resume => {
|
|
68
|
-
wss.close(() => resume(Effect.void));
|
|
69
|
-
})), Scope.extend(scope), Effect.cached);
|
|
70
|
-
return Server.make({
|
|
71
|
-
address: typeof address === "string" ? {
|
|
72
|
-
_tag: "UnixAddress",
|
|
73
|
-
path: address
|
|
74
|
-
} : {
|
|
75
|
-
_tag: "TcpAddress",
|
|
76
|
-
hostname: address.address === "::" ? "0.0.0.0" : address.address,
|
|
77
|
-
port: address.port
|
|
78
|
-
},
|
|
79
|
-
serve: (httpApp, middleware) => Effect.gen(function* () {
|
|
80
|
-
const handler = yield* makeHandler(httpApp, middleware);
|
|
81
|
-
const upgradeHandler = yield* makeUpgradeHandler(wss, httpApp, middleware);
|
|
82
|
-
yield* Effect.addFinalizer(() => Effect.sync(() => {
|
|
83
|
-
server.off("request", handler);
|
|
84
|
-
server.off("upgrade", upgradeHandler);
|
|
85
|
-
}));
|
|
86
|
-
server.on("request", handler);
|
|
87
|
-
server.on("upgrade", upgradeHandler);
|
|
88
|
-
})
|
|
89
|
-
});
|
|
90
|
-
}).pipe(Effect.provideService(IncomingMessage.MaxBodySize, Option.some(FileSystem.Size(1024 * 1024 * 10))));
|
|
91
|
-
/** @internal */
|
|
92
|
-
exports.make = make;
|
|
93
|
-
const makeHandler = (httpApp, middleware) => {
|
|
94
|
-
const handledApp = App.toHandled(httpApp, handleResponse, middleware);
|
|
95
|
-
return Effect.map(Effect.runtime(), runtime => {
|
|
96
|
-
const runFork = Runtime.runFork(runtime);
|
|
97
|
-
return function handler(nodeRequest, nodeResponse) {
|
|
98
|
-
const fiber = runFork(Effect.provideService(handledApp, ServerRequest.HttpServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
99
|
-
nodeResponse.on("close", () => {
|
|
100
|
-
if (!nodeResponse.writableEnded) {
|
|
101
|
-
fiber.unsafeInterruptAsFork(Error.clientAbortFiberId);
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
};
|
|
105
|
-
});
|
|
106
|
-
};
|
|
107
|
-
/** @internal */
|
|
108
|
-
exports.makeHandler = makeHandler;
|
|
109
|
-
const makeUpgradeHandler = (lazyWss, httpApp, middleware) => {
|
|
110
|
-
const handledApp = App.toHandled(httpApp, handleResponse, middleware);
|
|
111
|
-
return Effect.map(FiberSet.makeRuntime(), runFork => function handler(nodeRequest, socket, head) {
|
|
112
|
-
let nodeResponse_ = undefined;
|
|
113
|
-
const nodeResponse = () => {
|
|
114
|
-
if (nodeResponse_ === undefined) {
|
|
115
|
-
nodeResponse_ = new Http.ServerResponse(nodeRequest);
|
|
116
|
-
nodeResponse_.assignSocket(socket);
|
|
117
|
-
nodeResponse_.on("finish", () => {
|
|
118
|
-
socket.end();
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
return nodeResponse_;
|
|
122
|
-
};
|
|
123
|
-
const upgradeEffect = Socket.fromWebSocket(Effect.flatMap(lazyWss, wss => Effect.acquireRelease(Effect.async(resume => wss.handleUpgrade(nodeRequest, socket, head, ws => {
|
|
124
|
-
resume(Effect.succeed(ws));
|
|
125
|
-
})), ws => Effect.sync(() => ws.close()))));
|
|
126
|
-
const fiber = runFork(Effect.provideService(handledApp, ServerRequest.HttpServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect)));
|
|
127
|
-
socket.on("close", () => {
|
|
128
|
-
if (!socket.writableEnded) {
|
|
129
|
-
fiber.unsafeInterruptAsFork(Error.clientAbortFiberId);
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
};
|
|
134
|
-
exports.makeUpgradeHandler = makeUpgradeHandler;
|
|
135
|
-
class ServerRequestImpl extends _httpIncomingMessage.HttpIncomingMessageImpl {
|
|
136
|
-
source;
|
|
137
|
-
response;
|
|
138
|
-
upgradeEffect;
|
|
139
|
-
url;
|
|
140
|
-
headersOverride;
|
|
141
|
-
[ServerRequest.TypeId];
|
|
142
|
-
constructor(source, response, upgradeEffect, url = source.url, headersOverride, remoteAddressOverride) {
|
|
143
|
-
super(source, cause => new Error.RequestError({
|
|
144
|
-
request: this,
|
|
145
|
-
reason: "Decode",
|
|
146
|
-
cause
|
|
147
|
-
}), remoteAddressOverride);
|
|
148
|
-
this.source = source;
|
|
149
|
-
this.response = response;
|
|
150
|
-
this.upgradeEffect = upgradeEffect;
|
|
151
|
-
this.url = url;
|
|
152
|
-
this.headersOverride = headersOverride;
|
|
153
|
-
this[ServerRequest.TypeId] = ServerRequest.TypeId;
|
|
154
|
-
}
|
|
155
|
-
cachedCookies;
|
|
156
|
-
get cookies() {
|
|
157
|
-
if (this.cachedCookies) {
|
|
158
|
-
return this.cachedCookies;
|
|
159
|
-
}
|
|
160
|
-
return this.cachedCookies = Cookies.parseHeader(this.headers.cookie ?? "");
|
|
161
|
-
}
|
|
162
|
-
get resolvedResponse() {
|
|
163
|
-
return typeof this.response === "function" ? this.response() : this.response;
|
|
164
|
-
}
|
|
165
|
-
modify(options) {
|
|
166
|
-
return new ServerRequestImpl(this.source, this.response, this.upgradeEffect, options.url ?? this.url, options.headers ?? this.headersOverride, options.remoteAddress ?? this.remoteAddressOverride);
|
|
167
|
-
}
|
|
168
|
-
get originalUrl() {
|
|
169
|
-
return this.source.url;
|
|
170
|
-
}
|
|
171
|
-
get method() {
|
|
172
|
-
return this.source.method.toUpperCase();
|
|
173
|
-
}
|
|
174
|
-
get headers() {
|
|
175
|
-
this.headersOverride ??= this.source.headers;
|
|
176
|
-
return this.headersOverride;
|
|
177
|
-
}
|
|
178
|
-
multipartEffect;
|
|
179
|
-
get multipart() {
|
|
180
|
-
if (this.multipartEffect) {
|
|
181
|
-
return this.multipartEffect;
|
|
182
|
-
}
|
|
183
|
-
this.multipartEffect = Effect.runSync(Effect.cached(MultipartNode.persisted(this.source, this.source.headers)));
|
|
184
|
-
return this.multipartEffect;
|
|
185
|
-
}
|
|
186
|
-
get multipartStream() {
|
|
187
|
-
return MultipartNode.stream(this.source, this.source.headers);
|
|
188
|
-
}
|
|
189
|
-
get upgrade() {
|
|
190
|
-
return this.upgradeEffect ?? Effect.fail(new Error.RequestError({
|
|
191
|
-
request: this,
|
|
192
|
-
reason: "Decode",
|
|
193
|
-
description: "not an upgradeable ServerRequest"
|
|
194
|
-
}));
|
|
195
|
-
}
|
|
196
|
-
toString() {
|
|
197
|
-
return `ServerRequest(${this.method} ${this.url})`;
|
|
198
|
-
}
|
|
199
|
-
toJSON() {
|
|
200
|
-
return IncomingMessage.inspect(this, {
|
|
201
|
-
_id: "@effect/platform/HttpServerRequest",
|
|
202
|
-
method: this.method,
|
|
203
|
-
url: this.originalUrl
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
/** @internal */
|
|
208
|
-
const layerServer = (evaluate, options) => Layer.scoped(Server.HttpServer, make(evaluate, options));
|
|
209
|
-
/** @internal */
|
|
210
|
-
exports.layerServer = layerServer;
|
|
211
|
-
const layerContext = exports.layerContext = /*#__PURE__*/Layer.mergeAll(internalPlatform.layer, Etag.layerWeak, NodeContext.layer);
|
|
212
|
-
/** @internal */
|
|
213
|
-
const layer = (evaluate, options) => Layer.mergeAll(Layer.scoped(Server.HttpServer, make(evaluate, options)), layerContext);
|
|
214
|
-
/** @internal */
|
|
215
|
-
exports.layer = layer;
|
|
216
|
-
const layerTest = exports.layerTest = /*#__PURE__*/Server.layerTestClient.pipe(/*#__PURE__*/Layer.provide(NodeHttpClient.layerWithoutAgent), /*#__PURE__*/Layer.provide(/*#__PURE__*/NodeHttpClient.makeAgentLayer({
|
|
217
|
-
keepAlive: false
|
|
218
|
-
})), /*#__PURE__*/Layer.provideMerge(/*#__PURE__*/layer(Http.createServer, {
|
|
219
|
-
port: 0
|
|
220
|
-
})));
|
|
221
|
-
/** @internal */
|
|
222
|
-
const layerConfig = (evaluate, options) => Layer.mergeAll(Layer.scoped(Server.HttpServer, Effect.flatMap(Config.unwrap(options), options => make(evaluate, options))), internalPlatform.layer, Etag.layerWeak, NodeContext.layer);
|
|
223
|
-
exports.layerConfig = layerConfig;
|
|
224
|
-
const handleResponse = (request, response) => Effect.suspend(() => {
|
|
225
|
-
const nodeResponse = request.resolvedResponse;
|
|
226
|
-
if (nodeResponse.writableEnded) {
|
|
227
|
-
return Effect.void;
|
|
228
|
-
}
|
|
229
|
-
let headers = response.headers;
|
|
230
|
-
if (!Cookies.isEmpty(response.cookies)) {
|
|
231
|
-
headers = {
|
|
232
|
-
...headers
|
|
233
|
-
};
|
|
234
|
-
const toSet = Cookies.toSetCookieHeaders(response.cookies);
|
|
235
|
-
if (headers["set-cookie"] !== undefined) {
|
|
236
|
-
toSet.push(headers["set-cookie"]);
|
|
237
|
-
}
|
|
238
|
-
headers["set-cookie"] = toSet;
|
|
239
|
-
}
|
|
240
|
-
if (request.method === "HEAD") {
|
|
241
|
-
nodeResponse.writeHead(response.status, headers);
|
|
242
|
-
return Effect.async(resume => {
|
|
243
|
-
nodeResponse.end(() => resume(Effect.void));
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
const body = response.body;
|
|
247
|
-
switch (body._tag) {
|
|
248
|
-
case "Empty":
|
|
249
|
-
{
|
|
250
|
-
nodeResponse.writeHead(response.status, headers);
|
|
251
|
-
nodeResponse.end();
|
|
252
|
-
return Effect.void;
|
|
253
|
-
}
|
|
254
|
-
case "Raw":
|
|
255
|
-
{
|
|
256
|
-
nodeResponse.writeHead(response.status, headers);
|
|
257
|
-
if (typeof body.body === "object" && body.body !== null && "pipe" in body.body && typeof body.body.pipe === "function") {
|
|
258
|
-
return Effect.tryPromise({
|
|
259
|
-
try: signal => (0, _promises.pipeline)(body.body, nodeResponse, {
|
|
260
|
-
signal,
|
|
261
|
-
end: true
|
|
262
|
-
}),
|
|
263
|
-
catch: cause => new Error.ResponseError({
|
|
264
|
-
request,
|
|
265
|
-
response,
|
|
266
|
-
reason: "Decode",
|
|
267
|
-
cause
|
|
268
|
-
})
|
|
269
|
-
}).pipe(Effect.interruptible, Effect.tapErrorCause(handleCause(nodeResponse, response)));
|
|
270
|
-
}
|
|
271
|
-
return Effect.async(resume => {
|
|
272
|
-
nodeResponse.end(body.body, () => resume(Effect.void));
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
case "Uint8Array":
|
|
276
|
-
{
|
|
277
|
-
nodeResponse.writeHead(response.status, headers);
|
|
278
|
-
return Effect.async(resume => {
|
|
279
|
-
nodeResponse.end(body.body, () => resume(Effect.void));
|
|
280
|
-
});
|
|
281
|
-
}
|
|
282
|
-
case "FormData":
|
|
283
|
-
{
|
|
284
|
-
return Effect.suspend(() => {
|
|
285
|
-
const r = new Response(body.formData);
|
|
286
|
-
nodeResponse.writeHead(response.status, {
|
|
287
|
-
...headers,
|
|
288
|
-
...Object.fromEntries(r.headers)
|
|
289
|
-
});
|
|
290
|
-
return Effect.async((resume, signal) => {
|
|
291
|
-
_nodeStream.Readable.fromWeb(r.body, {
|
|
292
|
-
signal
|
|
293
|
-
}).pipe(nodeResponse).on("error", cause => {
|
|
294
|
-
resume(Effect.fail(new Error.ResponseError({
|
|
295
|
-
request,
|
|
296
|
-
response,
|
|
297
|
-
reason: "Decode",
|
|
298
|
-
cause
|
|
299
|
-
})));
|
|
300
|
-
}).once("finish", () => {
|
|
301
|
-
resume(Effect.void);
|
|
302
|
-
});
|
|
303
|
-
}).pipe(Effect.interruptible, Effect.tapErrorCause(handleCause(nodeResponse, response)));
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
case "Stream":
|
|
307
|
-
{
|
|
308
|
-
nodeResponse.writeHead(response.status, headers);
|
|
309
|
-
const drainLatch = Effect.unsafeMakeLatch();
|
|
310
|
-
nodeResponse.on("drain", () => drainLatch.unsafeOpen());
|
|
311
|
-
return body.stream.pipe(Stream.orDie, Stream.runForEachChunk(chunk => {
|
|
312
|
-
const array = Chunk.toReadonlyArray(chunk);
|
|
313
|
-
if (array.length === 0) return Effect.void;
|
|
314
|
-
let needDrain = false;
|
|
315
|
-
for (let i = 0; i < array.length; i++) {
|
|
316
|
-
const written = nodeResponse.write(array[i]);
|
|
317
|
-
if (!written && !needDrain) {
|
|
318
|
-
needDrain = true;
|
|
319
|
-
drainLatch.unsafeClose();
|
|
320
|
-
} else if (written && needDrain) {
|
|
321
|
-
needDrain = false;
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
if (!needDrain) return Effect.void;
|
|
325
|
-
return drainLatch.await;
|
|
326
|
-
}), Effect.interruptible, Effect.matchCauseEffect({
|
|
327
|
-
onSuccess: () => Effect.sync(() => nodeResponse.end()),
|
|
328
|
-
onFailure: handleCause(nodeResponse, response)
|
|
329
|
-
}));
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
});
|
|
333
|
-
const handleCause = (nodeResponse, original) => originalCause => Error.causeResponse(originalCause).pipe(Effect.flatMap(([response, cause]) => {
|
|
334
|
-
const headersSent = nodeResponse.headersSent;
|
|
335
|
-
if (!headersSent) {
|
|
336
|
-
nodeResponse.writeHead(response.status);
|
|
337
|
-
}
|
|
338
|
-
if (!nodeResponse.writableEnded) {
|
|
339
|
-
nodeResponse.end();
|
|
340
|
-
}
|
|
341
|
-
return Effect.failCause(headersSent ? Cause.sequential(originalCause, Cause.die(original)) : cause);
|
|
342
|
-
}));
|
|
343
|
-
/** @internal */
|
|
344
|
-
const toIncomingMessage = self => self.source;
|
|
345
|
-
/** @internal */
|
|
346
|
-
exports.toIncomingMessage = toIncomingMessage;
|
|
347
|
-
const toServerResponse = self => {
|
|
348
|
-
const res = self.response;
|
|
349
|
-
return typeof res === "function" ? res() : res;
|
|
350
|
-
};
|
|
351
|
-
exports.toServerResponse = toServerResponse;
|
|
352
|
-
//# sourceMappingURL=httpServer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"httpServer.js","names":["MultipartNode","_interopRequireWildcard","require","Cookies","Etag","FileSystem","App","IncomingMessage","Server","Error","ServerRequest","Socket","Cause","Chunk","Config","Effect","FiberSet","_Function","Layer","Option","Runtime","Scope","Stream","Http","_nodeStream","_promises","WS","NodeContext","NodeHttpClient","_httpIncomingMessage","internalPlatform","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","evaluate","options","gen","scope","server","acquireRelease","sync","async","resume","listening","void","close","error","die","onError","cause","fail","ServeError","on","listen","off","address","wss","pipe","WebSocketServer","noServer","extend","cached","_tag","path","hostname","port","serve","httpApp","middleware","handler","makeHandler","upgradeHandler","makeUpgradeHandler","addFinalizer","provideService","MaxBodySize","some","Size","exports","handledApp","toHandled","handleResponse","map","runtime","runFork","nodeRequest","nodeResponse","fiber","HttpServerRequest","ServerRequestImpl","writableEnded","unsafeInterruptAsFork","clientAbortFiberId","lazyWss","makeRuntime","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","end","upgradeEffect","fromWebSocket","flatMap","handleUpgrade","ws","succeed","HttpIncomingMessageImpl","source","response","url","headersOverride","TypeId","constructor","remoteAddressOverride","RequestError","request","reason","cachedCookies","cookies","parseHeader","headers","cookie","resolvedResponse","modify","remoteAddress","originalUrl","method","toUpperCase","multipartEffect","multipart","runSync","persisted","multipartStream","stream","upgrade","description","toString","toJSON","inspect","_id","layerServer","scoped","HttpServer","layerContext","mergeAll","layer","layerWeak","layerTest","layerTestClient","provide","layerWithoutAgent","makeAgentLayer","keepAlive","provideMerge","createServer","layerConfig","unwrap","suspend","isEmpty","toSet","toSetCookieHeaders","push","writeHead","status","body","tryPromise","try","signal","pipeline","catch","ResponseError","interruptible","tapErrorCause","handleCause","Response","formData","fromEntries","Readable","fromWeb","once","drainLatch","unsafeMakeLatch","unsafeOpen","orDie","runForEachChunk","chunk","array","toReadonlyArray","length","needDrain","written","write","unsafeClose","await","matchCauseEffect","onSuccess","onFailure","original","originalCause","causeResponse","headersSent","failCause","sequential","toIncomingMessage","self","toServerResponse","res"],"sources":["../../../src/internal/httpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.layerWorker = exports.layerPlatform = exports.layerManager = exports.layer = void 0;
|
|
7
|
-
var Worker = _interopRequireWildcard(require("@effect/platform/Worker"));
|
|
8
|
-
var _WorkerError = require("@effect/platform/WorkerError");
|
|
9
|
-
var Deferred = _interopRequireWildcard(require("effect/Deferred"));
|
|
10
|
-
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
|
11
|
-
var Exit = _interopRequireWildcard(require("effect/Exit"));
|
|
12
|
-
var Layer = _interopRequireWildcard(require("effect/Layer"));
|
|
13
|
-
var Scope = _interopRequireWildcard(require("effect/Scope"));
|
|
14
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
-
const platformWorkerImpl = /*#__PURE__*/Worker.makePlatform()({
|
|
16
|
-
setup({
|
|
17
|
-
scope,
|
|
18
|
-
worker
|
|
19
|
-
}) {
|
|
20
|
-
return Effect.flatMap(Deferred.make(), exitDeferred => {
|
|
21
|
-
const thing = "postMessage" in worker ? {
|
|
22
|
-
postMessage(msg, t) {
|
|
23
|
-
worker.postMessage(msg, t);
|
|
24
|
-
},
|
|
25
|
-
kill: () => worker.terminate(),
|
|
26
|
-
worker
|
|
27
|
-
} : {
|
|
28
|
-
postMessage(msg, _) {
|
|
29
|
-
worker.send(msg);
|
|
30
|
-
},
|
|
31
|
-
kill: () => worker.kill("SIGKILL"),
|
|
32
|
-
worker
|
|
33
|
-
};
|
|
34
|
-
worker.on("exit", () => {
|
|
35
|
-
Deferred.unsafeDone(exitDeferred, Exit.void);
|
|
36
|
-
});
|
|
37
|
-
return Effect.as(Scope.addFinalizer(scope, Effect.suspend(() => {
|
|
38
|
-
thing.postMessage([1]);
|
|
39
|
-
return Deferred.await(exitDeferred);
|
|
40
|
-
}).pipe(Effect.interruptible, Effect.timeout(5000), Effect.catchAllCause(() => Effect.sync(() => thing.kill())))), thing);
|
|
41
|
-
});
|
|
42
|
-
},
|
|
43
|
-
listen({
|
|
44
|
-
deferred,
|
|
45
|
-
emit,
|
|
46
|
-
port
|
|
47
|
-
}) {
|
|
48
|
-
port.worker.on("message", message => {
|
|
49
|
-
emit(message);
|
|
50
|
-
});
|
|
51
|
-
port.worker.on("messageerror", cause => {
|
|
52
|
-
Deferred.unsafeDone(deferred, new _WorkerError.WorkerError({
|
|
53
|
-
reason: "decode",
|
|
54
|
-
cause
|
|
55
|
-
}));
|
|
56
|
-
});
|
|
57
|
-
port.worker.on("error", cause => {
|
|
58
|
-
Deferred.unsafeDone(deferred, new _WorkerError.WorkerError({
|
|
59
|
-
reason: "unknown",
|
|
60
|
-
cause
|
|
61
|
-
}));
|
|
62
|
-
});
|
|
63
|
-
port.worker.on("exit", code => {
|
|
64
|
-
Deferred.unsafeDone(deferred, new _WorkerError.WorkerError({
|
|
65
|
-
reason: "unknown",
|
|
66
|
-
cause: new Error(`exited with code ${code}`)
|
|
67
|
-
}));
|
|
68
|
-
});
|
|
69
|
-
return Effect.void;
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
/** @internal */
|
|
73
|
-
const layerWorker = exports.layerWorker = /*#__PURE__*/Layer.succeed(Worker.PlatformWorker, platformWorkerImpl);
|
|
74
|
-
/** @internal */
|
|
75
|
-
const layerManager = exports.layerManager = /*#__PURE__*/Layer.provide(Worker.layerManager, layerWorker);
|
|
76
|
-
/** @internal */
|
|
77
|
-
const layer = spawn => Layer.merge(layerManager, Worker.layerSpawner(spawn));
|
|
78
|
-
/** @internal */
|
|
79
|
-
exports.layer = layer;
|
|
80
|
-
const layerPlatform = spawn => Layer.merge(layerWorker, Worker.layerSpawner(spawn));
|
|
81
|
-
exports.layerPlatform = layerPlatform;
|
|
82
|
-
//# sourceMappingURL=worker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","names":["Worker","_interopRequireWildcard","require","_WorkerError","Deferred","Effect","Exit","Layer","Scope","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","platformWorkerImpl","makePlatform","setup","scope","worker","flatMap","make","exitDeferred","thing","postMessage","msg","kill","terminate","_","send","on","unsafeDone","void","as","addFinalizer","suspend","await","pipe","interruptible","timeout","catchAllCause","sync","listen","deferred","emit","port","message","cause","WorkerError","reason","code","Error","layerWorker","exports","succeed","PlatformWorker","layerManager","provide","layer","spawn","merge","layerSpawner","layerPlatform"],"sources":["../../../src/internal/worker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|