@effect/platform-node 4.0.0-beta.7 → 4.0.0-beta.71
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 +9 -3
- package/dist/Mime.d.ts.map +1 -1
- package/dist/Mime.js +9 -3
- package/dist/Mime.js.map +1 -1
- package/dist/NodeChildProcessSpawner.d.ts +1 -1
- package/dist/NodeChildProcessSpawner.js +1 -1
- package/dist/NodeClusterHttp.d.ts +49 -7
- package/dist/NodeClusterHttp.d.ts.map +1 -1
- package/dist/NodeClusterHttp.js +20 -10
- package/dist/NodeClusterHttp.js.map +1 -1
- package/dist/NodeClusterSocket.d.ts +57 -11
- package/dist/NodeClusterSocket.d.ts.map +1 -1
- package/dist/NodeClusterSocket.js +57 -11
- package/dist/NodeClusterSocket.js.map +1 -1
- package/dist/NodeCrypto.d.ts +10 -0
- package/dist/NodeCrypto.d.ts.map +1 -0
- package/dist/NodeCrypto.js +22 -0
- package/dist/NodeCrypto.js.map +1 -0
- package/dist/NodeFileSystem.d.ts +4 -2
- package/dist/NodeFileSystem.d.ts.map +1 -1
- package/dist/NodeFileSystem.js +30 -3
- package/dist/NodeFileSystem.js.map +1 -1
- package/dist/NodeHttpClient.d.ts +111 -24
- package/dist/NodeHttpClient.d.ts.map +1 -1
- package/dist/NodeHttpClient.js +133 -28
- package/dist/NodeHttpClient.js.map +1 -1
- package/dist/NodeHttpIncomingMessage.d.ts +43 -9
- package/dist/NodeHttpIncomingMessage.d.ts.map +1 -1
- package/dist/NodeHttpIncomingMessage.js +47 -8
- package/dist/NodeHttpIncomingMessage.js.map +1 -1
- package/dist/NodeHttpPlatform.d.ts +10 -4
- package/dist/NodeHttpPlatform.d.ts.map +1 -1
- package/dist/NodeHttpPlatform.js +34 -7
- package/dist/NodeHttpPlatform.js.map +1 -1
- package/dist/NodeHttpServer.d.ts +56 -16
- package/dist/NodeHttpServer.d.ts.map +1 -1
- package/dist/NodeHttpServer.js +117 -49
- package/dist/NodeHttpServer.js.map +1 -1
- package/dist/NodeHttpServerRequest.d.ts +29 -3
- package/dist/NodeHttpServerRequest.d.ts.map +1 -1
- package/dist/NodeHttpServerRequest.js +9 -2
- package/dist/NodeHttpServerRequest.js.map +1 -1
- package/dist/NodeMultipart.d.ts +47 -4
- package/dist/NodeMultipart.d.ts.map +1 -1
- package/dist/NodeMultipart.js +47 -4
- package/dist/NodeMultipart.js.map +1 -1
- package/dist/NodePath.d.ts +15 -6
- package/dist/NodePath.d.ts.map +1 -1
- package/dist/NodePath.js +43 -7
- package/dist/NodePath.js.map +1 -1
- package/dist/NodeRedis.d.ts +56 -9
- package/dist/NodeRedis.d.ts.map +1 -1
- package/dist/NodeRedis.js +59 -12
- package/dist/NodeRedis.js.map +1 -1
- package/dist/NodeRuntime.d.ts +27 -36
- package/dist/NodeRuntime.d.ts.map +1 -1
- package/dist/NodeRuntime.js +38 -13
- package/dist/NodeRuntime.js.map +1 -1
- package/dist/NodeServices.d.ts +44 -5
- package/dist/NodeServices.d.ts.map +1 -1
- package/dist/NodeServices.js +7 -3
- package/dist/NodeServices.js.map +1 -1
- package/dist/NodeSink.d.ts +2 -2
- package/dist/NodeSink.js +2 -2
- package/dist/NodeSocket.d.ts +18 -3
- package/dist/NodeSocket.d.ts.map +1 -1
- package/dist/NodeSocket.js +51 -4
- package/dist/NodeSocket.js.map +1 -1
- package/dist/NodeSocketServer.d.ts +2 -2
- package/dist/NodeSocketServer.js +2 -2
- package/dist/NodeStdio.d.ts +5 -2
- package/dist/NodeStdio.d.ts.map +1 -1
- package/dist/NodeStdio.js +30 -3
- package/dist/NodeStdio.js.map +1 -1
- package/dist/NodeStream.d.ts +2 -2
- package/dist/NodeStream.js +2 -2
- package/dist/NodeTerminal.d.ts +8 -2
- package/dist/NodeTerminal.d.ts.map +1 -1
- package/dist/NodeTerminal.js +29 -3
- package/dist/NodeTerminal.js.map +1 -1
- package/dist/NodeWorker.d.ts +9 -2
- package/dist/NodeWorker.d.ts.map +1 -1
- package/dist/NodeWorker.js +45 -6
- package/dist/NodeWorker.js.map +1 -1
- package/dist/NodeWorkerRunner.d.ts +5 -1
- package/dist/NodeWorkerRunner.d.ts.map +1 -1
- package/dist/NodeWorkerRunner.js +47 -5
- package/dist/NodeWorkerRunner.js.map +1 -1
- package/dist/Undici.d.ts +16 -3
- package/dist/Undici.d.ts.map +1 -1
- package/dist/Undici.js +16 -3
- package/dist/Undici.js.map +1 -1
- package/dist/index.d.ts +28 -26
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +28 -26
- package/dist/index.js.map +1 -1
- package/package.json +9 -9
- package/src/Mime.ts +10 -3
- package/src/NodeChildProcessSpawner.ts +1 -1
- package/src/NodeClusterHttp.ts +54 -11
- package/src/NodeClusterSocket.ts +57 -11
- package/src/NodeCrypto.ts +24 -0
- package/src/NodeFileSystem.ts +30 -3
- package/src/NodeHttpClient.ts +141 -33
- package/src/NodeHttpIncomingMessage.ts +55 -12
- package/src/NodeHttpPlatform.ts +35 -6
- package/src/NodeHttpServer.ts +139 -53
- package/src/NodeHttpServerRequest.ts +29 -3
- package/src/NodeMultipart.ts +47 -4
- package/src/NodePath.ts +43 -7
- package/src/NodeRedis.ts +61 -14
- package/src/NodeRuntime.ts +56 -37
- package/src/NodeServices.ts +46 -5
- package/src/NodeSink.ts +2 -2
- package/src/NodeSocket.ts +56 -4
- package/src/NodeSocketServer.ts +2 -2
- package/src/NodeStdio.ts +30 -3
- package/src/NodeStream.ts +2 -2
- package/src/NodeTerminal.ts +29 -3
- package/src/NodeWorker.ts +45 -6
- package/src/NodeWorkerRunner.ts +47 -5
- package/src/Undici.ts +16 -3
- package/src/index.ts +29 -26
package/dist/NodeHttpServer.js
CHANGED
|
@@ -1,15 +1,45 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node.js implementation of the Effect `HttpServer`.
|
|
3
|
+
*
|
|
4
|
+
* This module adapts a supplied Node `http.Server` into Effect's
|
|
5
|
+
* platform-independent HTTP server service. It starts the server with Node
|
|
6
|
+
* `listen` options, converts `request` events into `HttpServerRequest` values,
|
|
7
|
+
* writes `HttpServerResponse` bodies through Node's `ServerResponse`, and
|
|
8
|
+
* handles `upgrade` events by exposing the upgraded socket through
|
|
9
|
+
* `HttpServerRequest.upgrade`.
|
|
10
|
+
*
|
|
11
|
+
* Common use cases include serving an Effect HTTP application with {@link layer}
|
|
12
|
+
* or {@link layerConfig}, embedding request or upgrade handlers into an
|
|
13
|
+
* existing Node server with {@link makeHandler} and {@link makeUpgradeHandler},
|
|
14
|
+
* and using {@link layerTest} for integration tests that need an ephemeral
|
|
15
|
+
* listening port and a client pointed at it.
|
|
16
|
+
*
|
|
17
|
+
* Listen options are passed directly to Node, so host, port, backlog, and Unix
|
|
18
|
+
* socket path behavior follow `node:http`. The server begins listening when the
|
|
19
|
+
* `HttpServer` is acquired, and handlers are installed when `serve` is run.
|
|
20
|
+
* Request fibers are interrupted with `ClientAbort` when the client disconnects
|
|
21
|
+
* before a response finishes. WebSocket support only applies to Node `upgrade`
|
|
22
|
+
* requests, and ordinary HTTP requests fail if their application attempts to use
|
|
23
|
+
* `HttpServerRequest.upgrade`.
|
|
24
|
+
*
|
|
25
|
+
* Scope ownership is important: the server is closed when the acquiring scope
|
|
26
|
+
* finalizes, while each `serve` call installs its own request and upgrade
|
|
27
|
+
* listeners and removes them on finalization. Unless preemptive shutdown is
|
|
28
|
+
* disabled, finalizing a serve scope also starts a graceful server close, using
|
|
29
|
+
* the configured timeout or the default timeout.
|
|
30
|
+
*
|
|
31
|
+
* @since 4.0.0
|
|
3
32
|
*/
|
|
4
33
|
import * as Cause from "effect/Cause";
|
|
5
34
|
import * as Config from "effect/Config";
|
|
35
|
+
import * as Context from "effect/Context";
|
|
36
|
+
import * as Duration from "effect/Duration";
|
|
6
37
|
import * as Effect from "effect/Effect";
|
|
7
38
|
import * as Fiber from "effect/Fiber";
|
|
8
39
|
import { flow } from "effect/Function";
|
|
9
40
|
import * as Latch from "effect/Latch";
|
|
10
41
|
import * as Layer from "effect/Layer";
|
|
11
42
|
import * as Scope from "effect/Scope";
|
|
12
|
-
import * as ServiceMap from "effect/ServiceMap";
|
|
13
43
|
import * as Stream from "effect/Stream";
|
|
14
44
|
import * as Cookies from "effect/unstable/http/Cookies";
|
|
15
45
|
import * as Etag from "effect/unstable/http/Etag";
|
|
@@ -17,7 +47,7 @@ import * as FetchHttpClient from "effect/unstable/http/FetchHttpClient";
|
|
|
17
47
|
import * as HttpEffect from "effect/unstable/http/HttpEffect";
|
|
18
48
|
import * as HttpIncomingMessage from "effect/unstable/http/HttpIncomingMessage";
|
|
19
49
|
import * as HttpServer from "effect/unstable/http/HttpServer";
|
|
20
|
-
import { causeResponse,
|
|
50
|
+
import { causeResponse, ClientAbort, HttpServerError, RequestParseError, ResponseError, ServeError } from "effect/unstable/http/HttpServerError";
|
|
21
51
|
import * as Request from "effect/unstable/http/HttpServerRequest";
|
|
22
52
|
import { HttpServerRequest } from "effect/unstable/http/HttpServerRequest";
|
|
23
53
|
import * as Socket from "effect/unstable/socket/Socket";
|
|
@@ -30,13 +60,17 @@ import * as NodeMultipart from "./NodeMultipart.js";
|
|
|
30
60
|
import * as NodeServices from "./NodeServices.js";
|
|
31
61
|
import { NodeWS } from "./NodeSocket.js";
|
|
32
62
|
/**
|
|
33
|
-
*
|
|
63
|
+
* Creates a scoped `HttpServer` from a Node `http.Server`, starts listening
|
|
64
|
+
* with the supplied options, registers request and upgrade handling, and closes
|
|
65
|
+
* the server during scope finalization with optional graceful-shutdown control.
|
|
66
|
+
*
|
|
34
67
|
* @category constructors
|
|
68
|
+
* @since 4.0.0
|
|
35
69
|
*/
|
|
36
70
|
export const make = /*#__PURE__*/Effect.fnUntraced(function* (evaluate, options) {
|
|
37
71
|
const scope = yield* Effect.scope;
|
|
38
72
|
const server = evaluate();
|
|
39
|
-
yield*
|
|
73
|
+
const shutdown = yield* Effect.callback(resume => {
|
|
40
74
|
if (!server.listening) {
|
|
41
75
|
return resume(Effect.void);
|
|
42
76
|
}
|
|
@@ -47,7 +81,12 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (evaluate, options)
|
|
|
47
81
|
resume(Effect.void);
|
|
48
82
|
}
|
|
49
83
|
});
|
|
50
|
-
}));
|
|
84
|
+
}).pipe(Effect.cached);
|
|
85
|
+
const preemptiveShutdown = options.disablePreemptiveShutdown ? Effect.void : Effect.timeoutOrElse(shutdown, {
|
|
86
|
+
duration: options.gracefulShutdownTimeout ?? Duration.seconds(20),
|
|
87
|
+
orElse: () => Effect.void
|
|
88
|
+
});
|
|
89
|
+
yield* Scope.addFinalizer(scope, shutdown);
|
|
51
90
|
yield* Effect.callback(resume => {
|
|
52
91
|
function onError(cause) {
|
|
53
92
|
resume(Effect.fail(new ServeError({
|
|
@@ -76,7 +115,8 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (evaluate, options)
|
|
|
76
115
|
port: address.port
|
|
77
116
|
},
|
|
78
117
|
serve: Effect.fnUntraced(function* (httpApp, middleware) {
|
|
79
|
-
const
|
|
118
|
+
const serveScope = yield* Effect.scope;
|
|
119
|
+
const scope = Scope.forkUnsafe(serveScope, "parallel");
|
|
80
120
|
const handler = yield* makeHandler(httpApp, {
|
|
81
121
|
middleware: middleware,
|
|
82
122
|
scope
|
|
@@ -85,62 +125,75 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (evaluate, options)
|
|
|
85
125
|
middleware: middleware,
|
|
86
126
|
scope
|
|
87
127
|
});
|
|
88
|
-
yield*
|
|
128
|
+
yield* Scope.addFinalizerExit(serveScope, () => {
|
|
89
129
|
server.off("request", handler);
|
|
90
130
|
server.off("upgrade", upgradeHandler);
|
|
91
|
-
|
|
131
|
+
return preemptiveShutdown;
|
|
132
|
+
});
|
|
92
133
|
server.on("request", handler);
|
|
93
134
|
server.on("upgrade", upgradeHandler);
|
|
94
135
|
})
|
|
95
136
|
});
|
|
96
137
|
});
|
|
97
138
|
/**
|
|
98
|
-
*
|
|
139
|
+
* Creates a Node `request` event handler for an Effect HTTP application,
|
|
140
|
+
* injecting a `HttpServerRequest` and interrupting the request fiber if the
|
|
141
|
+
* client closes the response before it finishes.
|
|
142
|
+
*
|
|
99
143
|
* @category Handlers
|
|
144
|
+
* @since 4.0.0
|
|
100
145
|
*/
|
|
101
146
|
export const makeHandler = (httpEffect, options) => {
|
|
102
147
|
const handled = HttpEffect.toHandled(httpEffect, handleResponse, options.middleware);
|
|
103
|
-
return Effect.
|
|
104
|
-
|
|
148
|
+
return Effect.withFiber(parent => {
|
|
149
|
+
const services = parent.context;
|
|
150
|
+
return Effect.succeed(function handler(nodeRequest, nodeResponse) {
|
|
105
151
|
const map = new Map(services.mapUnsafe);
|
|
106
152
|
map.set(HttpServerRequest.key, new ServerRequestImpl(nodeRequest, nodeResponse));
|
|
107
|
-
const fiber = Fiber.runIn(Effect.runForkWith(
|
|
153
|
+
const fiber = Fiber.runIn(Effect.runForkWith(Context.makeUnsafe(map))(handled), options.scope);
|
|
108
154
|
nodeResponse.on("close", () => {
|
|
109
155
|
if (!nodeResponse.writableEnded) {
|
|
110
|
-
fiber.interruptUnsafe(
|
|
156
|
+
fiber.interruptUnsafe(parent.id, ClientAbort.annotation);
|
|
111
157
|
}
|
|
112
158
|
});
|
|
113
|
-
};
|
|
159
|
+
});
|
|
114
160
|
});
|
|
115
161
|
};
|
|
116
162
|
/**
|
|
117
|
-
*
|
|
163
|
+
* Creates a Node `upgrade` event handler for an Effect HTTP application,
|
|
164
|
+
* exposing the upgraded WebSocket as the request's `upgrade` effect and
|
|
165
|
+
* interrupting the request fiber when the socket closes early.
|
|
166
|
+
*
|
|
118
167
|
* @category Handlers
|
|
168
|
+
* @since 4.0.0
|
|
119
169
|
*/
|
|
120
170
|
export const makeUpgradeHandler = (lazyWss, httpEffect, options) => {
|
|
121
171
|
const handledApp = HttpEffect.toHandled(httpEffect, handleResponse, options.middleware);
|
|
122
|
-
return Effect.
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
nodeResponse_
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
172
|
+
return Effect.withFiber(parent => {
|
|
173
|
+
const services = parent.context;
|
|
174
|
+
return Effect.succeed(function handler(nodeRequest, socket, head) {
|
|
175
|
+
let nodeResponse_ = undefined;
|
|
176
|
+
const nodeResponse = () => {
|
|
177
|
+
if (nodeResponse_ === undefined) {
|
|
178
|
+
nodeResponse_ = new Http.ServerResponse(nodeRequest);
|
|
179
|
+
nodeResponse_.assignSocket(socket);
|
|
180
|
+
nodeResponse_.on("finish", () => {
|
|
181
|
+
socket.end();
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
return nodeResponse_;
|
|
185
|
+
};
|
|
186
|
+
const upgradeEffect = Socket.fromWebSocket(Effect.flatMap(lazyWss, wss => Effect.acquireRelease(Effect.callback(resume => wss.handleUpgrade(nodeRequest, socket, head, ws => {
|
|
187
|
+
resume(Effect.succeed(ws));
|
|
188
|
+
})), ws => Effect.sync(() => ws.close()))));
|
|
189
|
+
const map = new Map(services.mapUnsafe);
|
|
190
|
+
map.set(HttpServerRequest.key, new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect));
|
|
191
|
+
const fiber = Fiber.runIn(Effect.runForkWith(Context.makeUnsafe(map))(handledApp), options.scope);
|
|
192
|
+
socket.on("close", () => {
|
|
193
|
+
if (!socket.writableEnded) {
|
|
194
|
+
fiber.interruptUnsafe(parent.id, ClientAbort.annotation);
|
|
195
|
+
}
|
|
196
|
+
});
|
|
144
197
|
});
|
|
145
198
|
});
|
|
146
199
|
};
|
|
@@ -174,7 +227,7 @@ class ServerRequestImpl extends NodeHttpIncomingMessage {
|
|
|
174
227
|
return typeof this.response === "function" ? this.response() : this.response;
|
|
175
228
|
}
|
|
176
229
|
modify(options) {
|
|
177
|
-
return new ServerRequestImpl(this.source, this.response, this.upgradeEffect, options.url ?? this.url, options.headers ?? this.headersOverride, options.remoteAddress
|
|
230
|
+
return new ServerRequestImpl(this.source, this.response, this.upgradeEffect, options.url ?? this.url, options.headers ?? this.headersOverride, "remoteAddress" in options ? options.remoteAddress : this.remoteAddressOverride);
|
|
178
231
|
}
|
|
179
232
|
get originalUrl() {
|
|
180
233
|
return this.source.url;
|
|
@@ -217,28 +270,43 @@ class ServerRequestImpl extends NodeHttpIncomingMessage {
|
|
|
217
270
|
}
|
|
218
271
|
}
|
|
219
272
|
/**
|
|
220
|
-
*
|
|
221
|
-
*
|
|
273
|
+
* Provides an `HttpServer` by creating and managing a scoped Node
|
|
274
|
+
* `http.Server` with the supplied listen and shutdown options.
|
|
275
|
+
*
|
|
276
|
+
* @category layers
|
|
277
|
+
* @since 4.0.0
|
|
222
278
|
*/
|
|
223
279
|
export const layerServer = /*#__PURE__*/flow(make, /*#__PURE__*/Layer.effect(HttpServer.HttpServer));
|
|
224
280
|
/**
|
|
225
|
-
*
|
|
226
|
-
*
|
|
281
|
+
* Provides the Node HTTP support services used by `NodeHttpServer`, including
|
|
282
|
+
* the HTTP platform, ETag generator, and core Node platform services.
|
|
283
|
+
*
|
|
284
|
+
* @category layers
|
|
285
|
+
* @since 4.0.0
|
|
227
286
|
*/
|
|
228
287
|
export const layerHttpServices = /*#__PURE__*/Layer.mergeAll(NodeHttpPlatform.layer, Etag.layerWeak, NodeServices.layer);
|
|
229
288
|
/**
|
|
230
|
-
*
|
|
231
|
-
*
|
|
289
|
+
* Provides a Node `HttpServer` together with the Node HTTP platform, ETag, and
|
|
290
|
+
* core platform services required to serve requests.
|
|
291
|
+
*
|
|
292
|
+
* @category layers
|
|
293
|
+
* @since 4.0.0
|
|
232
294
|
*/
|
|
233
295
|
export const layer = (evaluate, options) => Layer.mergeAll(layerServer(evaluate, options), layerHttpServices);
|
|
234
296
|
/**
|
|
235
|
-
*
|
|
236
|
-
*
|
|
297
|
+
* Provides a Node `HttpServer` and HTTP support services, reading the listen
|
|
298
|
+
* and shutdown options from a `Config` value.
|
|
299
|
+
*
|
|
300
|
+
* @category layers
|
|
301
|
+
* @since 4.0.0
|
|
237
302
|
*/
|
|
238
|
-
export const layerConfig = (evaluate, options) => Layer.mergeAll(Layer.effect(HttpServer.HttpServer)(Effect.flatMap(Config.unwrap(options)
|
|
303
|
+
export const layerConfig = (evaluate, options) => Layer.mergeAll(Layer.effect(HttpServer.HttpServer)(Effect.flatMap(Config.unwrap(options), options => make(evaluate, options))), layerHttpServices);
|
|
239
304
|
/**
|
|
240
|
-
*
|
|
305
|
+
* Provides a test HTTP server listening on an ephemeral port together with a
|
|
306
|
+
* Fetch-backed `HttpClient` configured for server integration tests.
|
|
307
|
+
*
|
|
241
308
|
* @category Testing
|
|
309
|
+
* @since 4.0.0
|
|
242
310
|
*/
|
|
243
311
|
export const layerTest = /*#__PURE__*/HttpServer.layerTestClient.pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.fresh(FetchHttpClient.layer).pipe(/*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.succeed(FetchHttpClient.RequestInit)({
|
|
244
312
|
keepalive: false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpServer.js","names":["Cause","Config","Effect","Fiber","flow","Latch","Layer","Scope","ServiceMap","Stream","Cookies","Etag","FetchHttpClient","HttpEffect","HttpIncomingMessage","HttpServer","causeResponse","clientAbortFiberId","HttpServerError","RequestParseError","ResponseError","ServeError","Request","HttpServerRequest","Socket","Http","Readable","pipeline","NodeHttpIncomingMessage","NodeHttpPlatform","NodeMultipart","NodeServices","NodeWS","make","fnUntraced","evaluate","options","scope","server","addFinalizer","callback","resume","listening","void","close","error","die","onError","cause","fail","on","listen","off","address","wss","acquireRelease","sync","WebSocketServer","noServer","pipe","provide","cached","_tag","path","hostname","port","serve","httpApp","middleware","handler","makeHandler","upgradeHandler","makeUpgradeHandler","httpEffect","handled","toHandled","handleResponse","map","services","nodeRequest","nodeResponse","Map","mapUnsafe","set","key","ServerRequestImpl","fiber","runIn","runForkWith","makeUnsafe","writableEnded","interruptUnsafe","lazyWss","handledApp","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","end","upgradeEffect","fromWebSocket","flatMap","handleUpgrade","ws","succeed","TypeId","response","url","headersOverride","constructor","source","remoteAddressOverride","reason","request","cachedCookies","cookies","parseHeader","headers","cookie","resolvedResponse","modify","remoteAddress","originalUrl","method","toUpperCase","multipartEffect","multipart","runSync","persisted","multipartStream","stream","upgrade","description","toString","toJSON","inspect","_id","layerServer","effect","layerHttpServices","mergeAll","layer","layerWeak","layerConfig","unwrap","asEffect","layerTest","layerTestClient","fresh","RequestInit","keepalive","provideMerge","createServer","isEmpty","toSet","toSetCookieHeaders","push","writeHead","status","body","tryPromise","try","signal","catch","interruptible","tapCause","handleCause","length","suspend","r","globalThis","Response","formData","Object","fromEntries","fromWeb","once","drainLatch","openUnsafe","orDie","runForEachArray","array","needDrain","i","written","write","closeUnsafe","await","matchCauseEffect","onSuccess","onFailure","originalResponse","originalCause","headersSent","failCause","combine"],"sources":["../src/NodeHttpServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"NodeHttpServer.js","names":["Cause","Config","Context","Duration","Effect","Fiber","flow","Latch","Layer","Scope","Stream","Cookies","Etag","FetchHttpClient","HttpEffect","HttpIncomingMessage","HttpServer","causeResponse","ClientAbort","HttpServerError","RequestParseError","ResponseError","ServeError","Request","HttpServerRequest","Socket","Http","Readable","pipeline","NodeHttpIncomingMessage","NodeHttpPlatform","NodeMultipart","NodeServices","NodeWS","make","fnUntraced","evaluate","options","scope","server","shutdown","callback","resume","listening","void","close","error","die","pipe","cached","preemptiveShutdown","disablePreemptiveShutdown","timeoutOrElse","duration","gracefulShutdownTimeout","seconds","orElse","addFinalizer","onError","cause","fail","on","listen","off","address","wss","acquireRelease","sync","WebSocketServer","noServer","provide","_tag","path","hostname","port","serve","httpApp","middleware","serveScope","forkUnsafe","handler","makeHandler","upgradeHandler","makeUpgradeHandler","addFinalizerExit","httpEffect","handled","toHandled","handleResponse","withFiber","parent","services","context","succeed","nodeRequest","nodeResponse","map","Map","mapUnsafe","set","key","ServerRequestImpl","fiber","runIn","runForkWith","makeUnsafe","writableEnded","interruptUnsafe","id","annotation","lazyWss","handledApp","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","end","upgradeEffect","fromWebSocket","flatMap","handleUpgrade","ws","TypeId","response","url","headersOverride","constructor","source","remoteAddressOverride","reason","request","cachedCookies","cookies","parseHeader","headers","cookie","resolvedResponse","modify","remoteAddress","originalUrl","method","toUpperCase","multipartEffect","multipart","runSync","persisted","multipartStream","stream","upgrade","description","toString","toJSON","inspect","_id","layerServer","effect","layerHttpServices","mergeAll","layer","layerWeak","layerConfig","unwrap","layerTest","layerTestClient","fresh","RequestInit","keepalive","provideMerge","createServer","isEmpty","toSet","toSetCookieHeaders","push","writeHead","status","body","tryPromise","try","signal","catch","interruptible","tapCause","handleCause","length","suspend","r","globalThis","Response","formData","Object","fromEntries","fromWeb","once","drainLatch","openUnsafe","orDie","runForEachArray","array","needDrain","i","written","write","closeUnsafe","await","matchCauseEffect","onSuccess","onFailure","originalResponse","originalCause","headersSent","failCause","combine"],"sources":["../src/NodeHttpServer.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OAAO,KAAKA,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,IAAI,QAAsB,iBAAiB;AACpD,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAIrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,OAAO,MAAM,8BAA8B;AACvD,OAAO,KAAKC,IAAI,MAAM,2BAA2B;AACjD,OAAO,KAAKC,eAAe,MAAM,sCAAsC;AAGvE,OAAO,KAAKC,UAAU,MAAM,iCAAiC;AAC7D,OAAO,KAAKC,mBAAmB,MAAM,0CAA0C;AAI/E,OAAO,KAAKC,UAAU,MAAM,iCAAiC;AAC7D,SACEC,aAAa,EACbC,WAAW,EACXC,eAAe,EACfC,iBAAiB,EACjBC,aAAa,EACbC,UAAU,QACL,sCAAsC;AAC7C,OAAO,KAAKC,OAAO,MAAM,wCAAwC;AACjE,SAASC,iBAAiB,QAAQ,wCAAwC;AAG1E,OAAO,KAAKC,MAAM,MAAM,+BAA+B;AACvD,OAAO,KAAKC,IAAI,MAAM,WAAW;AAGjC,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,QAAQ,QAAQ,sBAAsB;AAC/C,SAASC,uBAAuB,QAAQ,8BAA8B;AACtE,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AACzD,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AACnD,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AACjD,SAASC,MAAM,QAAQ,iBAAiB;AAExC;;;;;;;;AAQA,OAAO,MAAMC,IAAI,gBAAG9B,MAAM,CAAC+B,UAAU,CAAC,WACpCC,QAA8B,EAC9BC,OAGC;EAED,MAAMC,KAAK,GAAG,OAAOlC,MAAM,CAACkC,KAAK;EACjC,MAAMC,MAAM,GAAGH,QAAQ,EAAE;EAEzB,MAAMI,QAAQ,GAAG,OAAOpC,MAAM,CAACqC,QAAQ,CAAQC,MAAM,IAAI;IACvD,IAAI,CAACH,MAAM,CAACI,SAAS,EAAE;MACrB,OAAOD,MAAM,CAACtC,MAAM,CAACwC,IAAI,CAAC;IAC5B;IACAL,MAAM,CAACM,KAAK,CAAEC,KAAK,IAAI;MACrB,IAAIA,KAAK,EAAE;QACTJ,MAAM,CAACtC,MAAM,CAAC2C,GAAG,CAACD,KAAK,CAAC,CAAC;MAC3B,CAAC,MAAM;QACLJ,MAAM,CAACtC,MAAM,CAACwC,IAAI,CAAC;MACrB;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,CAACI,IAAI,CAAC5C,MAAM,CAAC6C,MAAM,CAAC;EAEtB,MAAMC,kBAAkB,GAAGb,OAAO,CAACc,yBAAyB,GAC1D/C,MAAM,CAACwC,IAAI,GACXxC,MAAM,CAACgD,aAAa,CAACZ,QAAQ,EAAE;IAC7Ba,QAAQ,EAAEhB,OAAO,CAACiB,uBAAuB,IAAInD,QAAQ,CAACoD,OAAO,CAAC,EAAE,CAAC;IACjEC,MAAM,EAAEA,CAAA,KAAMpD,MAAM,CAACwC;GACtB,CAAC;EAEJ,OAAOnC,KAAK,CAACgD,YAAY,CAACnB,KAAK,EAAEE,QAAQ,CAAC;EAE1C,OAAOpC,MAAM,CAACqC,QAAQ,CAAoBC,MAAM,IAAI;IAClD,SAASgB,OAAOA,CAACC,KAAY;MAC3BjB,MAAM,CAACtC,MAAM,CAACwD,IAAI,CAAC,IAAItC,UAAU,CAAC;QAAEqC;MAAK,CAAE,CAAC,CAAC,CAAC;IAChD;IACApB,MAAM,CAACsB,EAAE,CAAC,OAAO,EAAEH,OAAO,CAAC;IAC3BnB,MAAM,CAACuB,MAAM,CAACzB,OAAO,EAAE,MAAK;MAC1BE,MAAM,CAACwB,GAAG,CAAC,OAAO,EAAEL,OAAO,CAAC;MAC5BhB,MAAM,CAACtC,MAAM,CAACwC,IAAI,CAAC;IACrB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,MAAMoB,OAAO,GAAGzB,MAAM,CAACyB,OAAO,EAAG;EAEjC,MAAMC,GAAG,GAAG,OAAO7D,MAAM,CAAC8D,cAAc,CACtC9D,MAAM,CAAC+D,IAAI,CAAC,MAAM,IAAIlC,MAAM,CAACmC,eAAe,CAAC;IAAEC,QAAQ,EAAE;EAAI,CAAE,CAAC,CAAC,EAChEJ,GAAG,IACF7D,MAAM,CAACqC,QAAQ,CAAQC,MAAM,IAAI;IAC/BuB,GAAG,CAACpB,KAAK,CAAC,MAAMH,MAAM,CAACtC,MAAM,CAACwC,IAAI,CAAC,CAAC;EACtC,CAAC,CAAC,CACL,CAACI,IAAI,CACJvC,KAAK,CAAC6D,OAAO,CAAChC,KAAK,CAAC,EACpBlC,MAAM,CAAC6C,MAAM,CACd;EAED,OAAOjC,UAAU,CAACkB,IAAI,CAAC;IACrB8B,OAAO,EAAE,OAAOA,OAAO,KAAK,QAAQ,GAClC;MACEO,IAAI,EAAE,aAAa;MACnBC,IAAI,EAAER;KACP,GACD;MACEO,IAAI,EAAE,YAAY;MAClBE,QAAQ,EAAET,OAAO,CAACA,OAAO,KAAK,IAAI,GAAG,SAAS,GAAGA,OAAO,CAACA,OAAO;MAChEU,IAAI,EAAEV,OAAO,CAACU;KACf;IACHC,KAAK,EAAEvE,MAAM,CAAC+B,UAAU,CAAC,WAAUyC,OAAO,EAAEC,UAAU;MACpD,MAAMC,UAAU,GAAG,OAAO1E,MAAM,CAACkC,KAAK;MACtC,MAAMA,KAAK,GAAG7B,KAAK,CAACsE,UAAU,CAACD,UAAU,EAAE,UAAU,CAAC;MACtD,MAAME,OAAO,GAAG,OAAQC,WAAW,CAACL,OAAO,EAAE;QAC3CC,UAAU,EAAEA,UAAiB;QAC7BvC;OACD,CAAmG;MACpG,MAAM4C,cAAc,GAAG,OAAOC,kBAAkB,CAAClB,GAAG,EAAEW,OAAO,EAAE;QAC7DC,UAAU,EAAEA,UAAiB;QAC7BvC;OACD,CAAC;MACF,OAAO7B,KAAK,CAAC2E,gBAAgB,CAACN,UAAU,EAAE,MAAK;QAC7CvC,MAAM,CAACwB,GAAG,CAAC,SAAS,EAAEiB,OAAO,CAAC;QAC9BzC,MAAM,CAACwB,GAAG,CAAC,SAAS,EAAEmB,cAAc,CAAC;QACrC,OAAOhC,kBAAkB;MAC3B,CAAC,CAAC;MACFX,MAAM,CAACsB,EAAE,CAAC,SAAS,EAAEmB,OAAO,CAAC;MAC7BzC,MAAM,CAACsB,EAAE,CAAC,SAAS,EAAEqB,cAAc,CAAC;IACtC,CAAC;GACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;AAQA,OAAO,MAAMD,WAAW,GAAGA,CAKzBI,UAAmD,EACnDhD,OAGC,KAKC;EACF,MAAMiD,OAAO,GAAGxE,UAAU,CAACyE,SAAS,CAACF,UAAU,EAAEG,cAAc,EAAEnD,OAAO,CAACwC,UAAiB,CAAC;EAC3F,OAAOzE,MAAM,CAACqF,SAAS,CAAEC,MAAM,IAAI;IACjC,MAAMC,QAAQ,GAAGD,MAAM,CAACE,OAAO;IAC/B,OAAOxF,MAAM,CAACyF,OAAO,CAAC,SAASb,OAAOA,CACpCc,WAAiC,EACjCC,YAAiC;MAEjC,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAACN,QAAQ,CAACO,SAAS,CAAC;MACvCF,GAAG,CAACG,GAAG,CAAC3E,iBAAiB,CAAC4E,GAAG,EAAE,IAAIC,iBAAiB,CAACP,WAAW,EAAEC,YAAY,CAAC,CAAC;MAChF,MAAMO,KAAK,GAAGjG,KAAK,CAACkG,KAAK,CAACnG,MAAM,CAACoG,WAAW,CAACtG,OAAO,CAACuG,UAAU,CAAMT,GAAG,CAAC,CAAC,CAACV,OAAO,CAAC,EAAEjD,OAAO,CAACC,KAAK,CAAC;MACnGyD,YAAY,CAAClC,EAAE,CAAC,OAAO,EAAE,MAAK;QAC5B,IAAI,CAACkC,YAAY,CAACW,aAAa,EAAE;UAC/BJ,KAAK,CAACK,eAAe,CAACjB,MAAM,CAACkB,EAAE,EAAE1F,WAAW,CAAC2F,UAAU,CAAC;QAC1D;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;AAQA,OAAO,MAAM1B,kBAAkB,GAAGA,CAKhC2B,OAA8C,EAC9CzB,UAAmD,EACnDhD,OAGC,KAKC;EACF,MAAM0E,UAAU,GAAGjG,UAAU,CAACyE,SAAS,CAACF,UAAU,EAAEG,cAAc,EAAEnD,OAAO,CAACwC,UAAiB,CAAC;EAC9F,OAAOzE,MAAM,CAACqF,SAAS,CAAEC,MAAM,IAAI;IACjC,MAAMC,QAAQ,GAAGD,MAAM,CAACE,OAAO;IAC/B,OAAOxF,MAAM,CAACyF,OAAO,CAAC,SAASb,OAAOA,CACpCc,WAAiC,EACjCkB,MAAc,EACdC,IAAY;MAEZ,IAAIC,aAAa,GAAoCC,SAAS;MAC9D,MAAMpB,YAAY,GAAGA,CAAA,KAAK;QACxB,IAAImB,aAAa,KAAKC,SAAS,EAAE;UAC/BD,aAAa,GAAG,IAAIxF,IAAI,CAAC0F,cAAc,CAACtB,WAAW,CAAC;UACpDoB,aAAa,CAACG,YAAY,CAACL,MAAa,CAAC;UACzCE,aAAa,CAACrD,EAAE,CAAC,QAAQ,EAAE,MAAK;YAC9BmD,MAAM,CAACM,GAAG,EAAE;UACd,CAAC,CAAC;QACJ;QACA,OAAOJ,aAAa;MACtB,CAAC;MACD,MAAMK,aAAa,GAAG9F,MAAM,CAAC+F,aAAa,CAACpH,MAAM,CAACqH,OAAO,CACvDX,OAAO,EACN7C,GAAG,IACF7D,MAAM,CAAC8D,cAAc,CACnB9D,MAAM,CAACqC,QAAQ,CAAwBC,MAAM,IAC3CuB,GAAG,CAACyD,aAAa,CAAC5B,WAAW,EAAEkB,MAAM,EAAEC,IAAI,EAAGU,EAAE,IAAI;QAClDjF,MAAM,CAACtC,MAAM,CAACyF,OAAO,CAAC8B,EAAS,CAAC,CAAC;MACnC,CAAC,CAAC,CACH,EACAA,EAAE,IAAKvH,MAAM,CAAC+D,IAAI,CAAC,MAAMwD,EAAE,CAAC9E,KAAK,EAAE,CAAC,CACtC,CACJ,CAAC;MACF,MAAMmD,GAAG,GAAG,IAAIC,GAAG,CAACN,QAAQ,CAACO,SAAS,CAAC;MACvCF,GAAG,CAACG,GAAG,CAAC3E,iBAAiB,CAAC4E,GAAG,EAAE,IAAIC,iBAAiB,CAACP,WAAW,EAAEC,YAAY,EAAEwB,aAAa,CAAC,CAAC;MAC/F,MAAMjB,KAAK,GAAGjG,KAAK,CAACkG,KAAK,CAACnG,MAAM,CAACoG,WAAW,CAACtG,OAAO,CAACuG,UAAU,CAAMT,GAAG,CAAC,CAAC,CAACe,UAAU,CAAC,EAAE1E,OAAO,CAACC,KAAK,CAAC;MACtG0E,MAAM,CAACnD,EAAE,CAAC,OAAO,EAAE,MAAK;QACtB,IAAI,CAACmD,MAAM,CAACN,aAAa,EAAE;UACzBJ,KAAK,CAACK,eAAe,CAACjB,MAAM,CAACkB,EAAE,EAAE1F,WAAW,CAAC2F,UAAU,CAAC;QAC1D;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC;AAED,MAAMR,iBAAkB,SAAQxE,uBAAwC;EAC7D,CAACN,OAAO,CAACqG,MAAM;EACfC,QAAQ;EACTN,aAAa;EACZO,GAAG;EACJC,eAAe;EAEvBC,YACEC,MAA4B,EAC5BJ,QAA4D,EAC5DN,aAA6D,EAC7DO,GAAA,GAAMG,MAAM,CAACH,GAAI,EACjBC,eAAiC,EACjCG,qBAA6C;IAE7C,KAAK,CAACD,MAAM,EAAGtE,KAAK,IAClB,IAAIxC,eAAe,CAAC;MAClBgH,MAAM,EAAE,IAAI/G,iBAAiB,CAAC;QAC5BgH,OAAO,EAAE,IAAI;QACbzE;OACD;KACF,CAAC,EAAEuE,qBAAqB,CAAC;IAC5B,IAAI,CAAC3G,OAAO,CAACqG,MAAM,CAAC,GAAGrG,OAAO,CAACqG,MAAM;IACrC,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACN,aAAa,GAAGA,aAAa;IAClC,IAAI,CAACO,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,eAAe,GAAGA,eAAe;EACxC;EAEQM,aAAa;EACrB,IAAIC,OAAOA,CAAA;IACT,IAAI,IAAI,CAACD,aAAa,EAAE;MACtB,OAAO,IAAI,CAACA,aAAa;IAC3B;IACA,OAAO,IAAI,CAACA,aAAa,GAAG1H,OAAO,CAAC4H,WAAW,CAAC,IAAI,CAACC,OAAO,CAACC,MAAM,IAAI,EAAE,CAAC;EAC5E;EAEA,IAAIC,gBAAgBA,CAAA;IAClB,OAAO,OAAO,IAAI,CAACb,QAAQ,KAAK,UAAU,GAAG,IAAI,CAACA,QAAQ,EAAE,GAAG,IAAI,CAACA,QAAQ;EAC9E;EAEAc,MAAMA,CACJtG,OAIC;IAED,OAAO,IAAIgE,iBAAiB,CAC1B,IAAI,CAAC4B,MAAM,EACX,IAAI,CAACJ,QAAQ,EACb,IAAI,CAACN,aAAa,EAClBlF,OAAO,CAACyF,GAAG,IAAI,IAAI,CAACA,GAAG,EACvBzF,OAAO,CAACmG,OAAO,IAAI,IAAI,CAACT,eAAe,EACvC,eAAe,IAAI1F,OAAO,GAAGA,OAAO,CAACuG,aAAa,GAAG,IAAI,CAACV,qBAAqB,CAChF;EACH;EAEA,IAAIW,WAAWA,CAAA;IACb,OAAO,IAAI,CAACZ,MAAM,CAACH,GAAI;EACzB;EAEA,IAAIgB,MAAMA,CAAA;IACR,OAAO,IAAI,CAACb,MAAM,CAACa,MAAO,CAACC,WAAW,EAAgB;EACxD;EAEA,IAAaP,OAAOA,CAAA;IAClB,IAAI,CAACT,eAAe,KAAK,IAAI,CAACE,MAAM,CAACO,OAA0B;IAC/D,OAAO,IAAI,CAACT,eAAe;EAC7B;EAEQiB,eAAe;EAOvB,IAAIC,SAASA,CAAA;IAKX,IAAI,IAAI,CAACD,eAAe,EAAE;MACxB,OAAO,IAAI,CAACA,eAAe;IAC7B;IACA,IAAI,CAACA,eAAe,GAAG5I,MAAM,CAAC8I,OAAO,CAAC9I,MAAM,CAAC6C,MAAM,CACjDlB,aAAa,CAACoH,SAAS,CAAC,IAAI,CAAClB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACO,OAAO,CAAC,CAC1D,CAAC;IACF,OAAO,IAAI,CAACQ,eAAe;EAC7B;EAEA,IAAII,eAAeA,CAAA;IACjB,OAAOrH,aAAa,CAACsH,MAAM,CAAC,IAAI,CAACpB,MAAM,EAAE,IAAI,CAACA,MAAM,CAACO,OAAO,CAAC;EAC/D;EAEA,IAAIc,OAAOA,CAAA;IACT,OAAO,IAAI,CAAC/B,aAAa,IAAInH,MAAM,CAACwD,IAAI,CACtC,IAAIzC,eAAe,CAAC;MAClBgH,MAAM,EAAE,IAAI/G,iBAAiB,CAAC;QAC5BgH,OAAO,EAAE,IAAI;QACbmB,WAAW,EAAE;OACd;KACF,CAAC,CACH;EACH;EAESC,QAAQA,CAAA;IACf,OAAO,iBAAiB,IAAI,CAACV,MAAM,IAAI,IAAI,CAAChB,GAAG,GAAG;EACpD;EAEA2B,MAAMA,CAAA;IACJ,OAAO1I,mBAAmB,CAAC2I,OAAO,CAAC,IAAI,EAAE;MACvCC,GAAG,EAAE,mBAAmB;MACxBb,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBhB,GAAG,EAAE,IAAI,CAACe;KACX,CAAC;EACJ;;AAGF;;;;;;;AAOA,OAAO,MAAMe,WAAW,gBAM8BtJ,IAAI,CAAC4B,IAAI,eAAE1B,KAAK,CAACqJ,MAAM,CAAC7I,UAAU,CAACA,UAAU,CAAC,CAAC;AAErG;;;;;;;AAOA,OAAO,MAAM8I,iBAAiB,gBAE1BtJ,KAAK,CAACuJ,QAAQ,CAChBjI,gBAAgB,CAACkI,KAAK,EACtBpJ,IAAI,CAACqJ,SAAS,EACdjI,YAAY,CAACgI,KAAK,CACnB;AAED;;;;;;;AAOA,OAAO,MAAMA,KAAK,GAAGA,CACnB5H,QAA8B,EAC9BC,OAGC,KAKD7B,KAAK,CAACuJ,QAAQ,CACZH,WAAW,CAACxH,QAAQ,EAAEC,OAAO,CAAC,EAC9ByH,iBAAiB,CAClB;AAEH;;;;;;;AAOA,OAAO,MAAMI,WAAW,GAAGA,CACzB9H,QAA8B,EAC9BC,OAKC,KAKD7B,KAAK,CAACuJ,QAAQ,CACZvJ,KAAK,CAACqJ,MAAM,CAAC7I,UAAU,CAACA,UAAU,CAAC,CACjCZ,MAAM,CAACqH,OAAO,CAACxH,MAAM,CAACkK,MAAM,CAAC9H,OAAO,CAAC,EAAGA,OAAO,IAAKH,IAAI,CAACE,QAAQ,EAAEC,OAAO,CAAC,CAAC,CAC7E,EACDyH,iBAAiB,CAClB;AAEH;;;;;;;AAOA,OAAO,MAAMM,SAAS,gBASlBpJ,UAAU,CAACqJ,eAAe,CAACrH,IAAI,cACjCxC,KAAK,CAAC8D,OAAO,cACX9D,KAAK,CAAC8J,KAAK,CAACzJ,eAAe,CAACmJ,KAAK,CAAC,CAAChH,IAAI,cACrCxC,KAAK,CAAC8D,OAAO,cAAC9D,KAAK,CAACqF,OAAO,CAAChF,eAAe,CAAC0J,WAAW,CAAC,CAAC;EAAEC,SAAS,EAAE;AAAK,CAAE,CAAC,CAAC,CAChF,CACF,eACDhK,KAAK,CAACiK,YAAY,cAACT,KAAK,CAACtI,IAAI,CAACgJ,YAAY,EAAE;EAAEhG,IAAI,EAAE;AAAC,CAAE,CAAC,CAAC,CAC1D;AAED;AACA;AACA;AAEA,MAAMc,cAAc,GAAGA,CACrB4C,OAA0B,EAC1BP,QAA4B,KACY;EACxC,MAAM9B,YAAY,GAAIqC,OAA6B,CAACM,gBAAgB;EACpE,IAAI3C,YAAY,CAACW,aAAa,EAAE;IAC9B,OAAOtG,MAAM,CAACwC,IAAI;EACpB;EAEA,IAAI4F,OAAO,GAA2CX,QAAQ,CAACW,OAAO;EACtE,IAAI,CAAC7H,OAAO,CAACgK,OAAO,CAAC9C,QAAQ,CAACS,OAAO,CAAC,EAAE;IACtCE,OAAO,GAAG;MAAE,GAAGA;IAAO,CAAE;IACxB,MAAMoC,KAAK,GAAGjK,OAAO,CAACkK,kBAAkB,CAAChD,QAAQ,CAACS,OAAO,CAAC;IAC1D,IAAIE,OAAO,CAAC,YAAY,CAAC,KAAKrB,SAAS,EAAE;MACvCyD,KAAK,CAACE,IAAI,CAACtC,OAAO,CAAC,YAAY,CAAW,CAAC;IAC7C;IACAA,OAAO,CAAC,YAAY,CAAC,GAAGoC,KAAK;EAC/B;EAEA,IAAIxC,OAAO,CAACU,MAAM,KAAK,MAAM,EAAE;IAC7B/C,YAAY,CAACgF,SAAS,CAAClD,QAAQ,CAACmD,MAAM,EAAExC,OAAO,CAAC;IAChD,OAAOpI,MAAM,CAACqC,QAAQ,CAAQC,MAAM,IAAI;MACtCqD,YAAY,CAACuB,GAAG,CAAC,MAAM5E,MAAM,CAACtC,MAAM,CAACwC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;EACJ;EACA,MAAMqI,IAAI,GAAGpD,QAAQ,CAACoD,IAAI;EAC1B,QAAQA,IAAI,CAAC1G,IAAI;IACf,KAAK,OAAO;MAAE;QACZwB,YAAY,CAACgF,SAAS,CAAClD,QAAQ,CAACmD,MAAM,EAAExC,OAAO,CAAC;QAChDzC,YAAY,CAACuB,GAAG,EAAE;QAClB,OAAOlH,MAAM,CAACwC,IAAI;MACpB;IACA,KAAK,KAAK;MAAE;QACVmD,YAAY,CAACgF,SAAS,CAAClD,QAAQ,CAACmD,MAAM,EAAExC,OAAO,CAAC;QAChD,IACE,OAAOyC,IAAI,CAACA,IAAI,KAAK,QAAQ,IAAIA,IAAI,CAACA,IAAI,KAAK,IAAI,IAAI,MAAM,IAAIA,IAAI,CAACA,IAAI,IAC1E,OAAOA,IAAI,CAACA,IAAI,CAACjI,IAAI,KAAK,UAAU,EACpC;UACA,OAAO5C,MAAM,CAAC8K,UAAU,CAAC;YACvBC,GAAG,EAAGC,MAAM,IAAKxJ,QAAQ,CAACqJ,IAAI,CAACA,IAAW,EAAElF,YAAY,EAAE;cAAEqF,MAAM;cAAE9D,GAAG,EAAE;YAAI,CAAE,CAAC;YAChF+D,KAAK,EAAG1H,KAAK,IACX,IAAIxC,eAAe,CAAC;cAClBgH,MAAM,EAAE,IAAI9G,aAAa,CAAC;gBACxB+G,OAAO;gBACPP,QAAQ;gBACR0B,WAAW,EAAE,4BAA4B;gBACzC5F;eACD;aACF;WACJ,CAAC,CAACX,IAAI,CACL5C,MAAM,CAACkL,aAAa,EACpBlL,MAAM,CAACmL,QAAQ,CAACC,WAAW,CAACzF,YAAY,EAAE8B,QAAQ,CAAC,CAAC,CACrD;QACH;QACA,OAAOzH,MAAM,CAACqC,QAAQ,CAAQC,MAAM,IAAI;UACtCqD,YAAY,CAACuB,GAAG,CAAC2D,IAAI,CAACA,IAAI,EAAE,MAAMvI,MAAM,CAACtC,MAAM,CAACwC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC;MACJ;IACA,KAAK,YAAY;MAAE;QACjBmD,YAAY,CAACgF,SAAS,CAAClD,QAAQ,CAACmD,MAAM,EAAExC,OAAO,CAAC;QAChD;QACA,IAAIyC,IAAI,CAACA,IAAI,CAACQ,MAAM,GAAG,IAAI,GAAG,IAAI,EAAE;UAClC1F,YAAY,CAACuB,GAAG,CAAC2D,IAAI,CAACA,IAAI,CAAC;UAC3B,OAAO7K,MAAM,CAACwC,IAAI;QACpB;QACA,OAAOxC,MAAM,CAACqC,QAAQ,CAAQC,MAAM,IAAI;UACtCqD,YAAY,CAACuB,GAAG,CAAC2D,IAAI,CAACA,IAAI,EAAE,MAAMvI,MAAM,CAACtC,MAAM,CAACwC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC;MACJ;IACA,KAAK,UAAU;MAAE;QACf,OAAOxC,MAAM,CAACsL,OAAO,CAAC,MAAK;UACzB,MAAMC,CAAC,GAAG,IAAIC,UAAU,CAACC,QAAQ,CAACZ,IAAI,CAACa,QAAQ,CAAC;UAChD/F,YAAY,CAACgF,SAAS,CAAClD,QAAQ,CAACmD,MAAM,EAAE;YACtC,GAAGxC,OAAO;YACV,GAAGuD,MAAM,CAACC,WAAW,CAACL,CAAC,CAACnD,OAAO;WAChC,CAAC;UACF,OAAOpI,MAAM,CAACqC,QAAQ,CAAwB,CAACC,MAAM,EAAE0I,MAAM,KAAI;YAC/DzJ,QAAQ,CAACsK,OAAO,CAACN,CAAC,CAACV,IAAW,EAAE;cAAEG;YAAM,CAAE,CAAC,CACxCpI,IAAI,CAAC+C,YAAY,CAAC,CAClBlC,EAAE,CAAC,OAAO,EAAGF,KAAK,IAAI;cACrBjB,MAAM,CAACtC,MAAM,CAACwD,IAAI,CAChB,IAAIzC,eAAe,CAAC;gBAClBgH,MAAM,EAAE,IAAI9G,aAAa,CAAC;kBACxB+G,OAAO;kBACPP,QAAQ;kBACR0B,WAAW,EAAE,iCAAiC;kBAC9C5F;iBACD;eACF,CAAC,CACH,CAAC;YACJ,CAAC,CAAC,CACDuI,IAAI,CAAC,QAAQ,EAAE,MAAK;cACnBxJ,MAAM,CAACtC,MAAM,CAACwC,IAAI,CAAC;YACrB,CAAC,CAAC;UACN,CAAC,CAAC,CAACI,IAAI,CACL5C,MAAM,CAACkL,aAAa,EACpBlL,MAAM,CAACmL,QAAQ,CAACC,WAAW,CAACzF,YAAY,EAAE8B,QAAQ,CAAC,CAAC,CACrD;QACH,CAAC,CAAC;MACJ;IACA,KAAK,QAAQ;MAAE;QACb9B,YAAY,CAACgF,SAAS,CAAClD,QAAQ,CAACmD,MAAM,EAAExC,OAAO,CAAC;QAChD,MAAM2D,UAAU,GAAG5L,KAAK,CAACkG,UAAU,EAAE;QACrCV,YAAY,CAAClC,EAAE,CAAC,OAAO,EAAE,MAAMsI,UAAU,CAACC,UAAU,EAAE,CAAC;QACvD,OAAOnB,IAAI,CAAC5B,MAAM,CAACrG,IAAI,CACrBtC,MAAM,CAAC2L,KAAK,EACZ3L,MAAM,CAAC4L,eAAe,CAAEC,KAAK,IAAI;UAC/B,IAAIC,SAAS,GAAG,KAAK;UACrB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,KAAK,CAACd,MAAM,EAAEgB,CAAC,EAAE,EAAE;YACrC,MAAMC,OAAO,GAAG3G,YAAY,CAAC4G,KAAK,CAACJ,KAAK,CAACE,CAAC,CAAC,CAAC;YAC5C,IAAI,CAACC,OAAO,IAAI,CAACF,SAAS,EAAE;cAC1BA,SAAS,GAAG,IAAI;cAChBL,UAAU,CAACS,WAAW,EAAE;YAC1B,CAAC,MAAM,IAAIF,OAAO,IAAIF,SAAS,EAAE;cAC/BA,SAAS,GAAG,KAAK;YACnB;UACF;UACA,IAAI,CAACA,SAAS,EAAE,OAAOpM,MAAM,CAACwC,IAAI;UAClC,OAAOuJ,UAAU,CAACU,KAAK;QACzB,CAAC,CAAC,EACFzM,MAAM,CAACkL,aAAa,EACpBlL,MAAM,CAAC0M,gBAAgB,CAAC;UACtBC,SAAS,EAAEA,CAAA,KAAM3M,MAAM,CAAC+D,IAAI,CAAC,MAAM4B,YAAY,CAACuB,GAAG,EAAE,CAAC;UACtD0F,SAAS,EAAExB,WAAW,CAACzF,YAAY,EAAE8B,QAAQ;SAC9C,CAAC,CACH;MACH;EACF;AACF,CAAC;AAED,MAAM2D,WAAW,GAAGA,CAClBzF,YAAiC,EACjCkH,gBAAoC,KAElCC,aAA6B,IAC/B9M,MAAM,CAACqH,OAAO,CAACxG,aAAa,CAACiM,aAAa,CAAC,EAAE,CAAC,CAACrF,QAAQ,EAAElE,KAAK,CAAC,KAAI;EACjE,MAAMwJ,WAAW,GAAGpH,YAAY,CAACoH,WAAW;EAC5C,IAAI,CAACA,WAAW,EAAE;IAChBpH,YAAY,CAACgF,SAAS,CAAClD,QAAQ,CAACmD,MAAM,CAAC;EACzC;EACA,IAAI,CAACjF,YAAY,CAACW,aAAa,EAAE;IAC/BX,YAAY,CAACuB,GAAG,EAAE;EACpB;EACA,OAAOlH,MAAM,CAACgN,SAAS,CACrBD,WAAW,GACPnN,KAAK,CAACqN,OAAO,CAACH,aAAa,EAAElN,KAAK,CAAC+C,GAAG,CAACkK,gBAAgB,CAAC,CAAC,GACzDtJ,KAAK,CACV;AACH,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,16 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Accessors for the Node.js objects backing a platform Node
|
|
3
|
+
* `HttpServerRequest`.
|
|
4
|
+
*
|
|
5
|
+
* Use this module at interop boundaries when an Effect HTTP handler needs the
|
|
6
|
+
* original `http.IncomingMessage` or `http.ServerResponse` for APIs that are
|
|
7
|
+
* specific to Node, such as existing middleware, socket inspection, raw stream
|
|
8
|
+
* piping, or response customization that cannot be expressed with the portable
|
|
9
|
+
* `HttpServerRequest` and `HttpServerResponse` interfaces.
|
|
10
|
+
*
|
|
11
|
+
* The returned request is the original Node request supplied to the server. It
|
|
12
|
+
* does not reflect Effect request overrides made by middleware, such as a
|
|
13
|
+
* rewritten URL, adjusted headers, or a substituted remote address. Its body is
|
|
14
|
+
* also Node's one-shot readable stream, so avoid mixing raw stream consumption
|
|
15
|
+
* with Effect body, multipart, or stream helpers unless ownership of the body
|
|
16
|
+
* is clear. The returned response is the Node response owned by the platform
|
|
17
|
+
* server; writing to it directly bypasses the usual Effect response writer and
|
|
18
|
+
* must be coordinated carefully to avoid duplicate writes. Upgrade requests may
|
|
19
|
+
* create that response lazily when it is first requested.
|
|
20
|
+
*
|
|
21
|
+
* @since 4.0.0
|
|
3
22
|
*/
|
|
4
23
|
import type { HttpServerRequest } from "effect/unstable/http/HttpServerRequest";
|
|
5
24
|
import type * as Http from "node:http";
|
|
6
25
|
/**
|
|
7
|
-
*
|
|
26
|
+
* Returns the underlying Node `IncomingMessage` for a platform Node
|
|
27
|
+
* `HttpServerRequest`.
|
|
28
|
+
*
|
|
8
29
|
* @category Accessors
|
|
30
|
+
* @since 4.0.0
|
|
9
31
|
*/
|
|
10
32
|
export declare const toIncomingMessage: (self: HttpServerRequest) => Http.IncomingMessage;
|
|
11
33
|
/**
|
|
12
|
-
*
|
|
34
|
+
* Returns the underlying Node `ServerResponse` for a platform Node
|
|
35
|
+
* `HttpServerRequest`, evaluating the stored response thunk when the response
|
|
36
|
+
* was created lazily.
|
|
37
|
+
*
|
|
13
38
|
* @category Accessors
|
|
39
|
+
* @since 4.0.0
|
|
14
40
|
*/
|
|
15
41
|
export declare const toServerResponse: (self: HttpServerRequest) => Http.ServerResponse;
|
|
16
42
|
//# sourceMappingURL=NodeHttpServerRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpServerRequest.d.ts","sourceRoot":"","sources":["../src/NodeHttpServerRequest.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeHttpServerRequest.d.ts","sourceRoot":"","sources":["../src/NodeHttpServerRequest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AAC/E,OAAO,KAAK,KAAK,IAAI,MAAM,WAAW,CAAA;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAAI,MAAM,iBAAiB,KAAG,IAAI,CAAC,eAAqC,CAAA;AAEtG;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,MAAM,iBAAiB,KAAG,IAAI,CAAC,cAG/D,CAAA"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Returns the underlying Node `IncomingMessage` for a platform Node
|
|
3
|
+
* `HttpServerRequest`.
|
|
4
|
+
*
|
|
3
5
|
* @category Accessors
|
|
6
|
+
* @since 4.0.0
|
|
4
7
|
*/
|
|
5
8
|
export const toIncomingMessage = self => self.source;
|
|
6
9
|
/**
|
|
7
|
-
*
|
|
10
|
+
* Returns the underlying Node `ServerResponse` for a platform Node
|
|
11
|
+
* `HttpServerRequest`, evaluating the stored response thunk when the response
|
|
12
|
+
* was created lazily.
|
|
13
|
+
*
|
|
8
14
|
* @category Accessors
|
|
15
|
+
* @since 4.0.0
|
|
9
16
|
*/
|
|
10
17
|
export const toServerResponse = self => {
|
|
11
18
|
const res = self.response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeHttpServerRequest.js","names":["toIncomingMessage","self","source","toServerResponse","res","response"],"sources":["../src/NodeHttpServerRequest.ts"],"sourcesContent":[null],"mappings":"
|
|
1
|
+
{"version":3,"file":"NodeHttpServerRequest.js","names":["toIncomingMessage","self","source","toServerResponse","res","response"],"sources":["../src/NodeHttpServerRequest.ts"],"sourcesContent":[null],"mappings":"AAyBA;;;;;;;AAOA,OAAO,MAAMA,iBAAiB,GAAIC,IAAuB,IAA2BA,IAAI,CAACC,MAAa;AAEtG;;;;;;;;AAQA,OAAO,MAAMC,gBAAgB,GAAIF,IAAuB,IAAyB;EAC/E,MAAMG,GAAG,GAAIH,IAAY,CAACI,QAAQ;EAClC,OAAO,OAAOD,GAAG,KAAK,UAAU,GAAGA,GAAG,EAAE,GAAGA,GAAG;AAChD,CAAC","ignoreList":[]}
|
package/dist/NodeMultipart.d.ts
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node.js multipart parsing for HTTP `multipart/form-data` request bodies.
|
|
3
|
+
*
|
|
4
|
+
* `NodeMultipart` adapts a Node `Readable` plus incoming HTTP headers into
|
|
5
|
+
* Effect's shared multipart model. It can expose form parts as a stream for
|
|
6
|
+
* incremental processing, or collect a complete persisted form by writing file
|
|
7
|
+
* uploads to scoped temporary files through the current `FileSystem` and `Path`
|
|
8
|
+
* services.
|
|
9
|
+
*
|
|
10
|
+
* **Mental model**
|
|
11
|
+
*
|
|
12
|
+
* Multipart request bodies are one-shot byte streams. {@link stream} parses the
|
|
13
|
+
* body as it arrives: fields are decoded to strings and file parts keep their
|
|
14
|
+
* underlying Node readable stream. {@link persisted} consumes the same kind of
|
|
15
|
+
* body, builds a `Multipart.Persisted` record, and ties temporary upload files
|
|
16
|
+
* to the surrounding `Scope`.
|
|
17
|
+
*
|
|
18
|
+
* **Common tasks**
|
|
19
|
+
*
|
|
20
|
+
* - Use {@link stream} when a route validates fields while piping file uploads
|
|
21
|
+
* to storage.
|
|
22
|
+
* - Use {@link persisted} when a route needs a complete form value with scoped
|
|
23
|
+
* temporary files.
|
|
24
|
+
* - Use {@link fileToReadable} when a downstream Node library expects a
|
|
25
|
+
* `Readable`.
|
|
26
|
+
*
|
|
27
|
+
* **Gotchas**
|
|
28
|
+
*
|
|
29
|
+
* Consume a request body with only one parser. File parts must be drained,
|
|
30
|
+
* piped, or persisted so the request can finish reading. `contentEffect` loads
|
|
31
|
+
* an uploaded file into memory, so reserve it for small files. Client-supplied
|
|
32
|
+
* filenames are metadata, not trusted filesystem paths.
|
|
33
|
+
*
|
|
34
|
+
* @since 4.0.0
|
|
3
35
|
*/
|
|
4
36
|
import * as Effect from "effect/Effect";
|
|
5
37
|
import type * as FileSystem from "effect/FileSystem";
|
|
@@ -10,17 +42,28 @@ import * as Multipart from "effect/unstable/http/Multipart";
|
|
|
10
42
|
import type { IncomingHttpHeaders } from "node:http";
|
|
11
43
|
import type { Readable } from "node:stream";
|
|
12
44
|
/**
|
|
13
|
-
*
|
|
45
|
+
* Parses multipart data from a Node readable request body and headers into a
|
|
46
|
+
* stream of `Multipart.Part` values, converting parser failures to
|
|
47
|
+
* `MultipartError`.
|
|
48
|
+
*
|
|
14
49
|
* @category constructors
|
|
50
|
+
* @since 4.0.0
|
|
15
51
|
*/
|
|
16
52
|
export declare const stream: (source: Readable, headers: IncomingHttpHeaders) => Stream.Stream<Multipart.Part, Multipart.MultipartError>;
|
|
17
53
|
/**
|
|
18
|
-
*
|
|
54
|
+
* Parses multipart data from a Node readable request body and persists file
|
|
55
|
+
* parts using the current `FileSystem`, `Path`, and `Scope` services.
|
|
56
|
+
*
|
|
19
57
|
* @category constructors
|
|
58
|
+
* @since 4.0.0
|
|
20
59
|
*/
|
|
21
60
|
export declare const persisted: (source: Readable, headers: IncomingHttpHeaders) => Effect.Effect<Multipart.Persisted, Multipart.MultipartError, Scope.Scope | FileSystem.FileSystem | Path.Path>;
|
|
22
61
|
/**
|
|
23
|
-
*
|
|
62
|
+
* Returns the underlying Node readable stream for a multipart file produced by
|
|
63
|
+
* the Node multipart parser.
|
|
64
|
+
*
|
|
65
|
+
* @category converting
|
|
66
|
+
* @since 4.0.0
|
|
24
67
|
*/
|
|
25
68
|
export declare const fileToReadable: (file: Multipart.File) => Readable;
|
|
26
69
|
//# sourceMappingURL=NodeMultipart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeMultipart.d.ts","sourceRoot":"","sources":["../src/NodeMultipart.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeMultipart.d.ts","sourceRoot":"","sources":["../src/NodeMultipart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,KAAK,IAAI,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,SAAS,MAAM,gCAAgC,CAAA;AAG3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAI3C;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,GACjB,QAAQ,QAAQ,EAChB,SAAS,mBAAmB,KAC3B,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,cAAc,CActD,CAAA;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GACpB,QAAQ,QAAQ,EAChB,SAAS,mBAAmB,KAC3B,MAAM,CAAC,MAAM,CACd,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,cAAc,EACxB,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAM1C,CAAA;AAEP;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,SAAS,CAAC,IAAI,KAAG,QAAmC,CAAA"}
|
package/dist/NodeMultipart.js
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Node.js multipart parsing for HTTP `multipart/form-data` request bodies.
|
|
3
|
+
*
|
|
4
|
+
* `NodeMultipart` adapts a Node `Readable` plus incoming HTTP headers into
|
|
5
|
+
* Effect's shared multipart model. It can expose form parts as a stream for
|
|
6
|
+
* incremental processing, or collect a complete persisted form by writing file
|
|
7
|
+
* uploads to scoped temporary files through the current `FileSystem` and `Path`
|
|
8
|
+
* services.
|
|
9
|
+
*
|
|
10
|
+
* **Mental model**
|
|
11
|
+
*
|
|
12
|
+
* Multipart request bodies are one-shot byte streams. {@link stream} parses the
|
|
13
|
+
* body as it arrives: fields are decoded to strings and file parts keep their
|
|
14
|
+
* underlying Node readable stream. {@link persisted} consumes the same kind of
|
|
15
|
+
* body, builds a `Multipart.Persisted` record, and ties temporary upload files
|
|
16
|
+
* to the surrounding `Scope`.
|
|
17
|
+
*
|
|
18
|
+
* **Common tasks**
|
|
19
|
+
*
|
|
20
|
+
* - Use {@link stream} when a route validates fields while piping file uploads
|
|
21
|
+
* to storage.
|
|
22
|
+
* - Use {@link persisted} when a route needs a complete form value with scoped
|
|
23
|
+
* temporary files.
|
|
24
|
+
* - Use {@link fileToReadable} when a downstream Node library expects a
|
|
25
|
+
* `Readable`.
|
|
26
|
+
*
|
|
27
|
+
* **Gotchas**
|
|
28
|
+
*
|
|
29
|
+
* Consume a request body with only one parser. File parts must be drained,
|
|
30
|
+
* piped, or persisted so the request can finish reading. `contentEffect` loads
|
|
31
|
+
* an uploaded file into memory, so reserve it for small files. Client-supplied
|
|
32
|
+
* filenames are metadata, not trusted filesystem paths.
|
|
33
|
+
*
|
|
34
|
+
* @since 4.0.0
|
|
3
35
|
*/
|
|
4
36
|
import * as Effect from "effect/Effect";
|
|
5
37
|
import * as Inspectable from "effect/Inspectable";
|
|
@@ -10,8 +42,12 @@ import * as NFS from "node:fs";
|
|
|
10
42
|
import * as NodeStreamP from "node:stream/promises";
|
|
11
43
|
import * as NodeStream from "./NodeStream.js";
|
|
12
44
|
/**
|
|
13
|
-
*
|
|
45
|
+
* Parses multipart data from a Node readable request body and headers into a
|
|
46
|
+
* stream of `Multipart.Part` values, converting parser failures to
|
|
47
|
+
* `MultipartError`.
|
|
48
|
+
*
|
|
14
49
|
* @category constructors
|
|
50
|
+
* @since 4.0.0
|
|
15
51
|
*/
|
|
16
52
|
export const stream = (source, headers) => Multipart.makeConfig(headers).pipe(Effect.map(config => NodeStream.fromReadable({
|
|
17
53
|
evaluate() {
|
|
@@ -22,8 +58,11 @@ export const stream = (source, headers) => Multipart.makeConfig(headers).pipe(Ef
|
|
|
22
58
|
onError: error => convertError(error)
|
|
23
59
|
})), Stream.unwrap, Stream.map(convertPart));
|
|
24
60
|
/**
|
|
25
|
-
*
|
|
61
|
+
* Parses multipart data from a Node readable request body and persists file
|
|
62
|
+
* parts using the current `FileSystem`, `Path`, and `Scope` services.
|
|
63
|
+
*
|
|
26
64
|
* @category constructors
|
|
65
|
+
* @since 4.0.0
|
|
27
66
|
*/
|
|
28
67
|
export const persisted = (source, headers) => Multipart.toPersisted(stream(source, headers), (path, file) => Effect.tryPromise({
|
|
29
68
|
try: signal => NodeStreamP.pipeline(file.file, NFS.createWriteStream(path), {
|
|
@@ -32,7 +71,11 @@ export const persisted = (source, headers) => Multipart.toPersisted(stream(sourc
|
|
|
32
71
|
catch: cause => Multipart.MultipartError.fromReason("InternalError", cause)
|
|
33
72
|
}));
|
|
34
73
|
/**
|
|
35
|
-
*
|
|
74
|
+
* Returns the underlying Node readable stream for a multipart file produced by
|
|
75
|
+
* the Node multipart parser.
|
|
76
|
+
*
|
|
77
|
+
* @category converting
|
|
78
|
+
* @since 4.0.0
|
|
36
79
|
*/
|
|
37
80
|
export const fileToReadable = file => file.file;
|
|
38
81
|
// -----------------------------------------------------------------------------
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeMultipart.js","names":["Effect","Inspectable","Stream","Multipart","MP","NFS","NodeStreamP","NodeStream","stream","source","headers","makeConfig","pipe","map","config","fromReadable","evaluate","parser","make","onError","error","convertError","unwrap","convertPart","persisted","toPersisted","path","file","tryPromise","try","signal","pipeline","createWriteStream","catch","cause","MultipartError","fromReason","fileToReadable","part","_tag","FieldImpl","info","value","FileImpl","PartBase","Class","TypeId","constructor","key","contentType","name","decodeField","toJSON","_id","content","contentEffect","filename","toUint8Array","limit"],"sources":["../src/NodeMultipart.ts"],"sourcesContent":[null],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"NodeMultipart.js","names":["Effect","Inspectable","Stream","Multipart","MP","NFS","NodeStreamP","NodeStream","stream","source","headers","makeConfig","pipe","map","config","fromReadable","evaluate","parser","make","onError","error","convertError","unwrap","convertPart","persisted","toPersisted","path","file","tryPromise","try","signal","pipeline","createWriteStream","catch","cause","MultipartError","fromReason","fileToReadable","part","_tag","FieldImpl","info","value","FileImpl","PartBase","Class","TypeId","constructor","key","contentType","name","decodeField","toJSON","_id","content","contentEffect","filename","toUint8Array","limit"],"sources":["../src/NodeMultipart.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|