@effect/platform-node 0.11.5 → 0.12.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.
Files changed (63) hide show
  1. package/Http/NodeClient.d.ts +10 -0
  2. package/Http/NodeClient.d.ts.map +1 -1
  3. package/Http/NodeClient.js +14 -2
  4. package/Http/NodeClient.js.map +1 -1
  5. package/Http/Server.d.ts +34 -0
  6. package/Http/Server.d.ts.map +1 -0
  7. package/Http/Server.js +49 -0
  8. package/Http/Server.js.map +1 -0
  9. package/HttpServer.d.ts +9 -0
  10. package/HttpServer.d.ts.map +1 -0
  11. package/HttpServer.js +26 -0
  12. package/HttpServer.js.map +1 -0
  13. package/Stream.d.ts +14 -6
  14. package/Stream.d.ts.map +1 -1
  15. package/Stream.js.map +1 -1
  16. package/internal/fileSystem.js +9 -9
  17. package/internal/fileSystem.js.map +1 -1
  18. package/internal/http/formData.d.ts +5 -0
  19. package/internal/http/formData.d.ts.map +1 -0
  20. package/internal/http/formData.js +106 -0
  21. package/internal/http/formData.js.map +1 -0
  22. package/internal/http/incomingMessage.d.ts +2 -0
  23. package/internal/http/incomingMessage.d.ts.map +1 -0
  24. package/internal/http/incomingMessage.js +62 -0
  25. package/internal/http/incomingMessage.js.map +1 -0
  26. package/internal/http/nodeClient.js +28 -65
  27. package/internal/http/nodeClient.js.map +1 -1
  28. package/internal/http/server.d.ts +2 -0
  29. package/internal/http/server.d.ts.map +1 -0
  30. package/internal/http/server.js +218 -0
  31. package/internal/http/server.js.map +1 -0
  32. package/internal/stream.js +54 -35
  33. package/internal/stream.js.map +1 -1
  34. package/mjs/Http/NodeClient.mjs +10 -0
  35. package/mjs/Http/NodeClient.mjs.map +1 -1
  36. package/mjs/Http/Server.mjs +21 -0
  37. package/mjs/Http/Server.mjs.map +1 -0
  38. package/mjs/HttpServer.mjs +7 -0
  39. package/mjs/HttpServer.mjs.map +1 -0
  40. package/mjs/Stream.mjs.map +1 -1
  41. package/mjs/internal/fileSystem.mjs +9 -9
  42. package/mjs/internal/fileSystem.mjs.map +1 -1
  43. package/mjs/internal/http/formData.mjs +95 -0
  44. package/mjs/internal/http/formData.mjs.map +1 -0
  45. package/mjs/internal/http/incomingMessage.mjs +53 -0
  46. package/mjs/internal/http/incomingMessage.mjs.map +1 -0
  47. package/mjs/internal/http/nodeClient.mjs +25 -64
  48. package/mjs/internal/http/nodeClient.mjs.map +1 -1
  49. package/mjs/internal/http/server.mjs +207 -0
  50. package/mjs/internal/http/server.mjs.map +1 -0
  51. package/mjs/internal/stream.mjs +54 -35
  52. package/mjs/internal/stream.mjs.map +1 -1
  53. package/package.json +5 -2
  54. package/src/Http/NodeClient.ts +13 -0
  55. package/src/Http/Server.ts +45 -0
  56. package/src/HttpServer.ts +10 -0
  57. package/src/Stream.ts +14 -9
  58. package/src/internal/fileSystem.ts +16 -11
  59. package/src/internal/http/formData.ts +158 -0
  60. package/src/internal/http/incomingMessage.ts +78 -0
  61. package/src/internal/http/nodeClient.ts +30 -78
  62. package/src/internal/http/server.ts +323 -0
  63. 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 agentLayer = /*#__PURE__*/Layer.scoped(HttpAgent, /*#__PURE__*/makeAgent());
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 "Bytes":
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
- this.request = request;
143
- this.source = source;
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 json() {
162
- return Effect.tryMap(this.text, {
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: _ => Error.ResponseError({
180
- request: this.request,
181
- response: this,
182
- reason: "Decode",
183
- error: _
184
- })
150
+ catch: this.onError
185
151
  });
186
152
  }
187
- get stream() {
188
- return NodeStream.fromReadable(() => this.source, _ => Error.ResponseError({
189
- request: this.request,
190
- response: this,
191
- reason: "Decode",
192
- error: _
193
- }));
153
+ toString() {
154
+ return `ClientResponse(${this.status})`;
194
155
  }
195
- get arrayBuffer() {
196
- return NodeStream.toUint8Array(() => this.source, _ => Error.ResponseError({
197
- request: this.request,
198
- response: this,
199
- reason: "Decode",
200
- error: _
201
- }));
156
+ toJSON() {
157
+ return {
158
+ _tag: "ClientResponse",
159
+ status: this.status,
160
+ headers: Object.fromEntries(this.headers)
161
+ };
202
162
  }
203
163
  }
204
- _a = IncomingMessage.TypeId, _b = ClientResponse.TypeId;
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 layer = /*#__PURE__*/Layer.provide(agentLayer, /*#__PURE__*/Layer.effect(Client.Client, make));
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","NodeSink","NodeStream","Client","Error","ClientResponse","Headers","IncomingMessage","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","agentLayer","scoped","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","mapError","bytes","run","stream","fromWritable","async","resume","on","succeed","removeAllListeners","fail","unit","constructor","source","_a","TypeId","_b","status","statusCode","fromInput","text","toString","ResponseError","json","tryMap","JSON","parse","toWeb","globalThis","statusText","statusMessage","fromReadable","arrayBuffer","toUint8Array","layer","provide","effect"],"sources":["../../src/internal/http/nodeClient.ts"],"sourcesContent":[null],"mappings":"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"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=server.d.ts.map
@@ -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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"}