@effect/platform-node 0.11.5 → 0.12.1
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/Http/NodeClient.d.ts +10 -0
- package/Http/NodeClient.d.ts.map +1 -1
- package/Http/NodeClient.js +14 -2
- package/Http/NodeClient.js.map +1 -1
- package/Http/Server.d.ts +34 -0
- package/Http/Server.d.ts.map +1 -0
- package/Http/Server.js +49 -0
- package/Http/Server.js.map +1 -0
- package/HttpServer.d.ts +9 -0
- package/HttpServer.d.ts.map +1 -0
- package/HttpServer.js +26 -0
- package/HttpServer.js.map +1 -0
- package/Stream.d.ts +14 -6
- package/Stream.d.ts.map +1 -1
- package/Stream.js.map +1 -1
- package/internal/fileSystem.js +9 -9
- package/internal/fileSystem.js.map +1 -1
- package/internal/http/formData.d.ts +5 -0
- package/internal/http/formData.d.ts.map +1 -0
- package/internal/http/formData.js +106 -0
- package/internal/http/formData.js.map +1 -0
- package/internal/http/incomingMessage.d.ts +2 -0
- package/internal/http/incomingMessage.d.ts.map +1 -0
- package/internal/http/incomingMessage.js +62 -0
- package/internal/http/incomingMessage.js.map +1 -0
- package/internal/http/nodeClient.js +28 -65
- package/internal/http/nodeClient.js.map +1 -1
- package/internal/http/server.d.ts +2 -0
- package/internal/http/server.d.ts.map +1 -0
- package/internal/http/server.js +218 -0
- package/internal/http/server.js.map +1 -0
- package/internal/stream.js +54 -35
- package/internal/stream.js.map +1 -1
- package/mjs/Http/NodeClient.mjs +10 -0
- package/mjs/Http/NodeClient.mjs.map +1 -1
- package/mjs/Http/Server.mjs +21 -0
- package/mjs/Http/Server.mjs.map +1 -0
- package/mjs/HttpServer.mjs +7 -0
- package/mjs/HttpServer.mjs.map +1 -0
- package/mjs/Stream.mjs.map +1 -1
- package/mjs/internal/fileSystem.mjs +9 -9
- package/mjs/internal/fileSystem.mjs.map +1 -1
- package/mjs/internal/http/formData.mjs +95 -0
- package/mjs/internal/http/formData.mjs.map +1 -0
- package/mjs/internal/http/incomingMessage.mjs +53 -0
- package/mjs/internal/http/incomingMessage.mjs.map +1 -0
- package/mjs/internal/http/nodeClient.mjs +25 -64
- package/mjs/internal/http/nodeClient.mjs.map +1 -1
- package/mjs/internal/http/server.mjs +207 -0
- package/mjs/internal/http/server.mjs.map +1 -0
- package/mjs/internal/stream.mjs +54 -35
- package/mjs/internal/stream.mjs.map +1 -1
- package/package.json +5 -2
- package/src/Http/NodeClient.ts +13 -0
- package/src/Http/Server.ts +45 -0
- package/src/HttpServer.ts +10 -0
- package/src/Stream.ts +14 -9
- package/src/internal/fileSystem.ts +16 -11
- package/src/internal/http/formData.ts +158 -0
- package/src/internal/http/incomingMessage.ts +78 -0
- package/src/internal/http/nodeClient.ts +30 -78
- package/src/internal/http/server.ts +323 -0
- package/src/internal/stream.ts +81 -46
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incomingMessage.d.ts","sourceRoot":"","sources":["../../src/internal/http/incomingMessage.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.IncomingMessageImpl = void 0;
|
|
7
|
+
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
|
|
8
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
|
|
9
|
+
var FiberRef = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/FiberRef"));
|
|
10
|
+
var NodeStream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Stream"));
|
|
11
|
+
var Headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Headers"));
|
|
12
|
+
var IncomingMessage = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/IncomingMessage"));
|
|
13
|
+
var UrlParams = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/UrlParams"));
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
/** @internal */
|
|
17
|
+
class IncomingMessageImpl {
|
|
18
|
+
constructor(source, onError) {
|
|
19
|
+
this.source = source;
|
|
20
|
+
this.onError = onError;
|
|
21
|
+
this[IncomingMessage.TypeId] = IncomingMessage.TypeId;
|
|
22
|
+
}
|
|
23
|
+
get headers() {
|
|
24
|
+
return Headers.fromInput(this.source.headers);
|
|
25
|
+
}
|
|
26
|
+
get text() {
|
|
27
|
+
if (this.textEffect) {
|
|
28
|
+
return this.textEffect;
|
|
29
|
+
}
|
|
30
|
+
this.textEffect = Effect.runSync(Effect.cached(Effect.flatMap(FiberRef.get(IncomingMessage.maxBodySize), maxBodySize => NodeStream.toString({
|
|
31
|
+
readable: () => this.source,
|
|
32
|
+
onFailure: this.onError,
|
|
33
|
+
maxBytes: Option.getOrUndefined(maxBodySize)
|
|
34
|
+
}))));
|
|
35
|
+
return this.textEffect;
|
|
36
|
+
}
|
|
37
|
+
get json() {
|
|
38
|
+
return Effect.tryMap(this.text, {
|
|
39
|
+
try: _ => JSON.parse(_),
|
|
40
|
+
catch: this.onError
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
get urlParams() {
|
|
44
|
+
return Effect.flatMap(this.text, _ => Effect.try({
|
|
45
|
+
try: () => UrlParams.fromInput(new URLSearchParams(_)),
|
|
46
|
+
catch: this.onError
|
|
47
|
+
}));
|
|
48
|
+
}
|
|
49
|
+
get stream() {
|
|
50
|
+
return NodeStream.fromReadable(() => this.source, this.onError);
|
|
51
|
+
}
|
|
52
|
+
get arrayBuffer() {
|
|
53
|
+
return Effect.flatMap(FiberRef.get(IncomingMessage.maxBodySize), maxBodySize => NodeStream.toUint8Array({
|
|
54
|
+
readable: () => this.source,
|
|
55
|
+
onFailure: this.onError,
|
|
56
|
+
maxBytes: Option.getOrUndefined(maxBodySize)
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.IncomingMessageImpl = IncomingMessageImpl;
|
|
61
|
+
IncomingMessage.TypeId;
|
|
62
|
+
//# sourceMappingURL=incomingMessage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"incomingMessage.js","names":["Option","_interopRequireWildcard","require","Effect","FiberRef","NodeStream","Headers","IncomingMessage","UrlParams","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","IncomingMessageImpl","constructor","source","onError","TypeId","headers","fromInput","text","textEffect","runSync","cached","flatMap","maxBodySize","toString","readable","onFailure","maxBytes","getOrUndefined","json","tryMap","try","_","JSON","parse","catch","urlParams","URLSearchParams","stream","fromReadable","arrayBuffer","toUint8Array","exports"],"sources":["../../src/internal/http/incomingMessage.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -3,17 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.makeAgent = exports.make = exports.layer = exports.agentLayer = exports.HttpAgentTypeId = exports.HttpAgent = void 0;
|
|
6
|
+
exports.makeAgentLayer = exports.makeAgent = exports.make = exports.layerWithoutAgent = exports.layer = exports.agentLayer = exports.HttpAgentTypeId = exports.HttpAgent = void 0;
|
|
7
7
|
var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Context"));
|
|
8
8
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
|
|
9
9
|
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
|
|
10
|
+
var _incomingMessage = /*#__PURE__*/require("@effect/platform-node/internal/http/incomingMessage");
|
|
10
11
|
var NodeSink = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Sink"));
|
|
11
|
-
var NodeStream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Stream"));
|
|
12
12
|
var Client = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Client"));
|
|
13
13
|
var Error = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/ClientError"));
|
|
14
14
|
var ClientResponse = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/ClientResponse"));
|
|
15
|
-
var Headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Headers"));
|
|
16
|
-
var IncomingMessage = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/IncomingMessage"));
|
|
17
15
|
var UrlParams = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/UrlParams"));
|
|
18
16
|
var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/stream/Stream"));
|
|
19
17
|
var Http = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("node:http"));
|
|
@@ -22,7 +20,6 @@ var _nodeStream = /*#__PURE__*/require("node:stream");
|
|
|
22
20
|
var _promises = /*#__PURE__*/require("node:stream/promises");
|
|
23
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
-
var _a, _b;
|
|
26
23
|
/** @internal */
|
|
27
24
|
const HttpAgentTypeId = /*#__PURE__*/Symbol.for("@effect/platform-node/Http/NodeClient/HttpAgent");
|
|
28
25
|
/** @internal */
|
|
@@ -37,7 +34,10 @@ const makeAgent = options => Effect.map(Effect.all([Effect.acquireRelease(Effect
|
|
|
37
34
|
}));
|
|
38
35
|
/** @internal */
|
|
39
36
|
exports.makeAgent = makeAgent;
|
|
40
|
-
const
|
|
37
|
+
const makeAgentLayer = options => Layer.scoped(HttpAgent, makeAgent(options));
|
|
38
|
+
/** @internal */
|
|
39
|
+
exports.makeAgentLayer = makeAgentLayer;
|
|
40
|
+
const agentLayer = /*#__PURE__*/makeAgentLayer();
|
|
41
41
|
exports.agentLayer = agentLayer;
|
|
42
42
|
const fromAgent = agent => Client.make(request => Effect.flatMap(UrlParams.makeUrl(request.url, request.urlParams, _ => Error.RequestError({
|
|
43
43
|
request,
|
|
@@ -67,7 +67,7 @@ const sendBody = (nodeRequest, request, body) => Effect.suspend(() => {
|
|
|
67
67
|
nodeRequest.end();
|
|
68
68
|
return waitForFinish(nodeRequest, request);
|
|
69
69
|
}
|
|
70
|
-
case "
|
|
70
|
+
case "Uint8Array":
|
|
71
71
|
case "Raw":
|
|
72
72
|
{
|
|
73
73
|
nodeRequest.end(body.body);
|
|
@@ -88,17 +88,6 @@ const sendBody = (nodeRequest, request, body) => Effect.suspend(() => {
|
|
|
88
88
|
})
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
|
-
case "BytesEffect":
|
|
92
|
-
{
|
|
93
|
-
return Effect.flatMap(Effect.mapError(body.body, _ => Error.RequestError({
|
|
94
|
-
request,
|
|
95
|
-
reason: "Encode",
|
|
96
|
-
error: _
|
|
97
|
-
})), bytes => {
|
|
98
|
-
nodeRequest.end(bytes);
|
|
99
|
-
return waitForFinish(nodeRequest, request);
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
91
|
case "Stream":
|
|
103
92
|
{
|
|
104
93
|
return Stream.run(Stream.mapError(body.stream, _ => Error.RequestError({
|
|
@@ -137,37 +126,19 @@ const waitForFinish = (nodeRequest, request) => Effect.async(resume => {
|
|
|
137
126
|
nodeRequest.removeAllListeners("finish");
|
|
138
127
|
});
|
|
139
128
|
});
|
|
140
|
-
class ClientResponseImpl {
|
|
129
|
+
class ClientResponseImpl extends _incomingMessage.IncomingMessageImpl {
|
|
141
130
|
constructor(request, source) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
this[_a] = IncomingMessage.TypeId;
|
|
145
|
-
this[_b] = ClientResponse.TypeId;
|
|
146
|
-
}
|
|
147
|
-
get status() {
|
|
148
|
-
return this.source.statusCode;
|
|
149
|
-
}
|
|
150
|
-
get headers() {
|
|
151
|
-
return Headers.fromInput(this.source.headers);
|
|
152
|
-
}
|
|
153
|
-
get text() {
|
|
154
|
-
return NodeStream.toString(() => this.source, _ => Error.ResponseError({
|
|
155
|
-
request: this.request,
|
|
131
|
+
super(source, _ => Error.ResponseError({
|
|
132
|
+
request,
|
|
156
133
|
response: this,
|
|
157
134
|
reason: "Decode",
|
|
158
135
|
error: _
|
|
159
136
|
}));
|
|
137
|
+
this.request = request;
|
|
138
|
+
this[ClientResponse.TypeId] = ClientResponse.TypeId;
|
|
160
139
|
}
|
|
161
|
-
get
|
|
162
|
-
return
|
|
163
|
-
try: _ => JSON.parse(_),
|
|
164
|
-
catch: _ => Error.ResponseError({
|
|
165
|
-
request: this.request,
|
|
166
|
-
response: this,
|
|
167
|
-
reason: "Decode",
|
|
168
|
-
error: _
|
|
169
|
-
})
|
|
170
|
-
});
|
|
140
|
+
get status() {
|
|
141
|
+
return this.source.statusCode;
|
|
171
142
|
}
|
|
172
143
|
get formData() {
|
|
173
144
|
return Effect.tryPromise({
|
|
@@ -176,36 +147,28 @@ class ClientResponseImpl {
|
|
|
176
147
|
status: this.source.statusCode,
|
|
177
148
|
statusText: this.source.statusMessage
|
|
178
149
|
}).formData(),
|
|
179
|
-
catch:
|
|
180
|
-
request: this.request,
|
|
181
|
-
response: this,
|
|
182
|
-
reason: "Decode",
|
|
183
|
-
error: _
|
|
184
|
-
})
|
|
150
|
+
catch: this.onError
|
|
185
151
|
});
|
|
186
152
|
}
|
|
187
|
-
|
|
188
|
-
return
|
|
189
|
-
request: this.request,
|
|
190
|
-
response: this,
|
|
191
|
-
reason: "Decode",
|
|
192
|
-
error: _
|
|
193
|
-
}));
|
|
153
|
+
toString() {
|
|
154
|
+
return `ClientResponse(${this.status})`;
|
|
194
155
|
}
|
|
195
|
-
|
|
196
|
-
return
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}));
|
|
156
|
+
toJSON() {
|
|
157
|
+
return {
|
|
158
|
+
_tag: "ClientResponse",
|
|
159
|
+
status: this.status,
|
|
160
|
+
headers: Object.fromEntries(this.headers)
|
|
161
|
+
};
|
|
202
162
|
}
|
|
203
163
|
}
|
|
204
|
-
|
|
164
|
+
ClientResponse.TypeId;
|
|
205
165
|
/** @internal */
|
|
206
166
|
const make = /*#__PURE__*/Effect.map(HttpAgent, fromAgent);
|
|
207
167
|
/** @internal */
|
|
208
168
|
exports.make = make;
|
|
209
|
-
const
|
|
169
|
+
const layerWithoutAgent = /*#__PURE__*/Layer.effect(Client.Client, make);
|
|
170
|
+
/** @internal */
|
|
171
|
+
exports.layerWithoutAgent = layerWithoutAgent;
|
|
172
|
+
const layer = /*#__PURE__*/Layer.provide(agentLayer, layerWithoutAgent);
|
|
210
173
|
exports.layer = layer;
|
|
211
174
|
//# sourceMappingURL=nodeClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeClient.js","names":["Context","_interopRequireWildcard","require","Effect","Layer","
|
|
1
|
+
{"version":3,"file":"nodeClient.js","names":["Context","_interopRequireWildcard","require","Effect","Layer","_incomingMessage","NodeSink","Client","Error","ClientResponse","UrlParams","Stream","Http","Https","_nodeStream","_promises","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","HttpAgentTypeId","Symbol","for","exports","HttpAgent","Tag","makeAgent","options","map","all","acquireRelease","sync","Agent","agent","destroy","http","https","makeAgentLayer","scoped","agentLayer","fromAgent","make","request","flatMap","makeUrl","url","urlParams","_","RequestError","reason","error","suspend","controller","AbortController","nodeRequest","protocol","method","headers","fromEntries","signal","ClientResponseImpl","onInterrupt","abort","zipRight","sendBody","body","waitForResponse","concurrent","_tag","end","waitForFinish","response","Response","formData","forEach","value","setHeader","tryPromise","try","pipeline","Readable","fromWeb","catch","run","mapError","stream","fromWritable","async","resume","on","succeed","removeAllListeners","fail","unit","IncomingMessageImpl","constructor","source","ResponseError","TypeId","status","statusCode","toWeb","globalThis","Headers","statusText","statusMessage","onError","toString","toJSON","layerWithoutAgent","effect","layer","provide"],"sources":["../../src/internal/http/nodeClient.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/internal/http/server.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.make = exports.layerConfig = exports.layer = void 0;
|
|
7
|
+
var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/data/Option"));
|
|
8
|
+
var Config = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Config"));
|
|
9
|
+
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
|
|
10
|
+
var Fiber = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Fiber"));
|
|
11
|
+
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
|
|
12
|
+
var Runtime = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Runtime"));
|
|
13
|
+
var internalFormData = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/internal/http/formData"));
|
|
14
|
+
var _incomingMessage = /*#__PURE__*/require("@effect/platform-node/internal/http/incomingMessage");
|
|
15
|
+
var NodeSink = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform-node/Sink"));
|
|
16
|
+
var FileSystem = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/FileSystem"));
|
|
17
|
+
var Headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Headers"));
|
|
18
|
+
var IncomingMessage = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/IncomingMessage"));
|
|
19
|
+
var Middleware = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Middleware"));
|
|
20
|
+
var Server = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/Server"));
|
|
21
|
+
var Error = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/ServerError"));
|
|
22
|
+
var ServerRequest = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/ServerRequest"));
|
|
23
|
+
var ServerResponse = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/Http/ServerResponse"));
|
|
24
|
+
var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/stream/Stream"));
|
|
25
|
+
var _nodeStream = /*#__PURE__*/require("node:stream");
|
|
26
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
27
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
28
|
+
/** @internal */
|
|
29
|
+
const make = (evaluate, options) => Effect.gen(function* (_) {
|
|
30
|
+
const server = evaluate();
|
|
31
|
+
const serverFiber = yield* _(Effect.addFinalizer(() => Effect.async(resume => {
|
|
32
|
+
server.close(error => {
|
|
33
|
+
if (error) {
|
|
34
|
+
resume(Effect.die(error));
|
|
35
|
+
} else {
|
|
36
|
+
resume(Effect.unit);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
})), Effect.zipRight(Effect.async(resume => {
|
|
40
|
+
server.on("error", error => {
|
|
41
|
+
resume(Effect.fail(Error.ServeError({
|
|
42
|
+
error
|
|
43
|
+
})));
|
|
44
|
+
});
|
|
45
|
+
})), Effect.scoped, Effect.forkScoped);
|
|
46
|
+
yield* _(Effect.async(resume => {
|
|
47
|
+
server.listen(options, () => {
|
|
48
|
+
resume(Effect.unit);
|
|
49
|
+
});
|
|
50
|
+
}));
|
|
51
|
+
const address = server.address();
|
|
52
|
+
return Server.make({
|
|
53
|
+
address: typeof address === "string" ? {
|
|
54
|
+
_tag: "UnixAddress",
|
|
55
|
+
path: address
|
|
56
|
+
} : {
|
|
57
|
+
_tag: "TcpAddress",
|
|
58
|
+
hostname: address.address,
|
|
59
|
+
port: address.port
|
|
60
|
+
},
|
|
61
|
+
serve: (httpApp, middleware) => {
|
|
62
|
+
const handledApp = middleware ? middleware(respond(httpApp)) : respond(httpApp);
|
|
63
|
+
return Effect.flatMap(Effect.runtime(), runtime => {
|
|
64
|
+
const runFork = Runtime.runFork(runtime);
|
|
65
|
+
function handler(nodeRequest, nodeResponse) {
|
|
66
|
+
runFork(Effect.provideService(handledApp, ServerRequest.ServerRequest, new ServerRequestImpl(nodeRequest, nodeResponse)));
|
|
67
|
+
}
|
|
68
|
+
return Effect.all([Effect.acquireRelease(Effect.sync(() => server.on("request", handler)), () => Effect.sync(() => server.off("request", handler))), Fiber.join(serverFiber)], {
|
|
69
|
+
discard: true,
|
|
70
|
+
concurrency: "unbounded"
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}).pipe(Effect.locally(IncomingMessage.maxBodySize, Option.some(FileSystem.Size(1024 * 1024 * 10))));
|
|
76
|
+
exports.make = make;
|
|
77
|
+
const respond = /*#__PURE__*/Middleware.make(httpApp => Effect.flatMap(ServerRequest.ServerRequest, request => Effect.tapErrorCause(Effect.tap(Effect.flatMap(httpApp, ServerResponse.toNonEffectBody), response => handleResponse(request, response)), _cause => Effect.sync(() => {
|
|
78
|
+
const nodeResponse = request.response;
|
|
79
|
+
if (!nodeResponse.headersSent) {
|
|
80
|
+
nodeResponse.writeHead(500);
|
|
81
|
+
}
|
|
82
|
+
if (!nodeResponse.writableEnded) {
|
|
83
|
+
nodeResponse.end();
|
|
84
|
+
}
|
|
85
|
+
}))));
|
|
86
|
+
class ServerRequestImpl extends _incomingMessage.IncomingMessageImpl {
|
|
87
|
+
constructor(source, response, url = source.url, headersOverride) {
|
|
88
|
+
super(source, _ => Error.RequestError({
|
|
89
|
+
request: this,
|
|
90
|
+
reason: "Decode",
|
|
91
|
+
error: _
|
|
92
|
+
}));
|
|
93
|
+
this.source = source;
|
|
94
|
+
this.response = response;
|
|
95
|
+
this.url = url;
|
|
96
|
+
this.headersOverride = headersOverride;
|
|
97
|
+
this[ServerRequest.TypeId] = ServerRequest.TypeId;
|
|
98
|
+
}
|
|
99
|
+
get originalUrl() {
|
|
100
|
+
return this.source.url;
|
|
101
|
+
}
|
|
102
|
+
get method() {
|
|
103
|
+
return this.source.method;
|
|
104
|
+
}
|
|
105
|
+
get headers() {
|
|
106
|
+
this.headersOverride ??= Headers.fromInput(this.source.headers);
|
|
107
|
+
return this.headersOverride;
|
|
108
|
+
}
|
|
109
|
+
get formData() {
|
|
110
|
+
if (this.formDataEffect) {
|
|
111
|
+
return this.formDataEffect;
|
|
112
|
+
}
|
|
113
|
+
this.formDataEffect = Effect.runSync(Effect.cached(internalFormData.formData(this.source)));
|
|
114
|
+
return this.formDataEffect;
|
|
115
|
+
}
|
|
116
|
+
get formDataStream() {
|
|
117
|
+
return internalFormData.fromRequest(this.source);
|
|
118
|
+
}
|
|
119
|
+
setUrl(url) {
|
|
120
|
+
return new ServerRequestImpl(this.source, this.response, url, this.headersOverride);
|
|
121
|
+
}
|
|
122
|
+
replaceHeaders(headers) {
|
|
123
|
+
return new ServerRequestImpl(this.source, this.response, this.url, headers);
|
|
124
|
+
}
|
|
125
|
+
toString() {
|
|
126
|
+
return `ServerRequest(${this.method} ${this.url})`;
|
|
127
|
+
}
|
|
128
|
+
toJSON() {
|
|
129
|
+
return {
|
|
130
|
+
_tag: "ServerRequest",
|
|
131
|
+
method: this.method,
|
|
132
|
+
url: this.url,
|
|
133
|
+
originalUrl: this.originalUrl,
|
|
134
|
+
headers: Object.fromEntries(this.headers)
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
ServerRequest.TypeId;
|
|
139
|
+
/** @internal */
|
|
140
|
+
const layer = (evaluate, options) => Layer.scoped(Server.Server, make(evaluate, options));
|
|
141
|
+
/** @internal */
|
|
142
|
+
exports.layer = layer;
|
|
143
|
+
const layerConfig = (evaluate, options) => Layer.scoped(Server.Server, Effect.flatMap(Effect.config(Config.unwrap(options)), options => make(evaluate, options)));
|
|
144
|
+
exports.layerConfig = layerConfig;
|
|
145
|
+
const handleResponse = (request, response) => Effect.suspend(() => {
|
|
146
|
+
const nodeResponse = request.response;
|
|
147
|
+
switch (response.body._tag) {
|
|
148
|
+
case "Empty":
|
|
149
|
+
{
|
|
150
|
+
nodeResponse.writeHead(response.status, response.headers === Headers.empty ? undefined : Object.fromEntries(response.headers));
|
|
151
|
+
nodeResponse.end();
|
|
152
|
+
return Effect.unit;
|
|
153
|
+
}
|
|
154
|
+
case "Raw":
|
|
155
|
+
{
|
|
156
|
+
const headers = response.headers === Headers.empty ? {} : Object.fromEntries(response.headers);
|
|
157
|
+
if (response.body.contentType) {
|
|
158
|
+
headers["content-type"] = response.body.contentType;
|
|
159
|
+
}
|
|
160
|
+
if (response.body.contentLength) {
|
|
161
|
+
headers["content-length"] = response.body.contentLength.toString();
|
|
162
|
+
}
|
|
163
|
+
nodeResponse.writeHead(response.status, headers);
|
|
164
|
+
nodeResponse.end(response.body.body);
|
|
165
|
+
return Effect.unit;
|
|
166
|
+
}
|
|
167
|
+
case "Uint8Array":
|
|
168
|
+
{
|
|
169
|
+
const headers = response.headers === Headers.empty ? {} : Object.fromEntries(response.headers);
|
|
170
|
+
headers["content-type"] = response.body.contentType;
|
|
171
|
+
headers["content-length"] = response.body.contentLength.toString();
|
|
172
|
+
nodeResponse.writeHead(response.status, headers);
|
|
173
|
+
nodeResponse.end(response.body.body);
|
|
174
|
+
return Effect.unit;
|
|
175
|
+
}
|
|
176
|
+
case "FormData":
|
|
177
|
+
{
|
|
178
|
+
const body = response.body;
|
|
179
|
+
return Effect.async(resume => {
|
|
180
|
+
const r = new Response(body.formData);
|
|
181
|
+
const headers = response.headers ? Object.fromEntries(response.headers) : {};
|
|
182
|
+
headers["content-type"] = r.headers.get("content-type");
|
|
183
|
+
nodeResponse.writeHead(response.status, headers);
|
|
184
|
+
_nodeStream.Readable.fromWeb(r.body).pipe(nodeResponse).on("error", error => {
|
|
185
|
+
resume(Effect.fail(Error.ResponseError({
|
|
186
|
+
request,
|
|
187
|
+
response,
|
|
188
|
+
reason: "Decode",
|
|
189
|
+
error
|
|
190
|
+
})));
|
|
191
|
+
}).once("finish", () => {
|
|
192
|
+
resume(Effect.unit);
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
case "Stream":
|
|
197
|
+
{
|
|
198
|
+
const headers = response.headers === Headers.empty ? {} : Object.fromEntries(response.headers);
|
|
199
|
+
headers["content-type"] = response.body.contentType;
|
|
200
|
+
if (response.body.contentLength) {
|
|
201
|
+
headers["content-length"] = response.body.contentLength.toString();
|
|
202
|
+
}
|
|
203
|
+
nodeResponse.writeHead(response.status, headers);
|
|
204
|
+
return Stream.run(Stream.mapError(response.body.stream, error => Error.ResponseError({
|
|
205
|
+
request,
|
|
206
|
+
response,
|
|
207
|
+
reason: "Decode",
|
|
208
|
+
error
|
|
209
|
+
})), NodeSink.fromWritable(() => nodeResponse, error => Error.ResponseError({
|
|
210
|
+
request,
|
|
211
|
+
response,
|
|
212
|
+
reason: "Decode",
|
|
213
|
+
error
|
|
214
|
+
})));
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","names":["Option","_interopRequireWildcard","require","Config","Effect","Fiber","Layer","Runtime","internalFormData","_incomingMessage","NodeSink","FileSystem","Headers","IncomingMessage","Middleware","Server","Error","ServerRequest","ServerResponse","Stream","_nodeStream","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","make","evaluate","options","gen","_","server","serverFiber","addFinalizer","async","resume","close","error","die","unit","zipRight","on","fail","ServeError","scoped","forkScoped","listen","address","_tag","path","hostname","port","serve","httpApp","middleware","handledApp","respond","flatMap","runtime","runFork","handler","nodeRequest","nodeResponse","provideService","ServerRequestImpl","all","acquireRelease","sync","off","join","discard","concurrency","pipe","locally","maxBodySize","some","Size","exports","request","tapErrorCause","tap","toNonEffectBody","response","handleResponse","_cause","headersSent","writeHead","writableEnded","end","IncomingMessageImpl","constructor","source","url","headersOverride","RequestError","reason","TypeId","originalUrl","method","headers","fromInput","formData","formDataEffect","runSync","cached","formDataStream","fromRequest","setUrl","replaceHeaders","toString","toJSON","fromEntries","layer","layerConfig","config","unwrap","suspend","body","status","empty","undefined","contentType","contentLength","r","Response","Readable","fromWeb","ResponseError","once","run","mapError","stream","fromWritable"],"sources":["../../src/internal/http/server.ts"],"sourcesContent":[null],"mappings":"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"}
|