@fncts/node 0.0.44 → 0.0.45

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.
@@ -1,208 +1,193 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.handleResponse = handleResponse;
7
- exports.make = make;
8
- exports.makeHandler = void 0;
9
- exports.makeUpgradeHandler = makeUpgradeHandler;
10
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
11
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/addFinalizer"));
12
- var _Server = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/http/Server"));
13
- var tsplus_module_3 = _Server;
14
- var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/acquireRelease"));
15
- var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Scope/api"));
16
- var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/memoize"));
17
- var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/scope"));
18
- var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Exit/definition"));
19
- var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/http/HttpApp"));
20
- var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/http/ServerRequest/definition"));
21
- var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api/environment"));
22
- var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/runtime"));
23
- var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/FiberSet"));
24
- var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/http/Socket"));
25
- var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/base/data/Cause/api"));
26
- var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/http/Body/definition"));
27
- var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/Stream/api"));
28
- var _ResponseError = /*#__PURE__*/require("@fncts/http/ResponseError");
29
- var _ServerError = /*#__PURE__*/require("@fncts/http/ServerError");
30
- var _ServerRequest = /*#__PURE__*/require("@fncts/node/http/ServerRequest");
31
- var NodeStream = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/node/stream"));
32
- var Http = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("node:http"));
33
- var _nodeStream = /*#__PURE__*/require("node:stream");
34
- var _promises = /*#__PURE__*/require("node:stream/promises");
35
- var ws = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("ws"));
36
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../chunk.cjs");
3
+ let _fncts_io_IO_api = require("@fncts/io/IO/api");
4
+ _fncts_io_IO_api = require_chunk.__toESM(_fncts_io_IO_api, 1);
5
+ let _fncts_io_IO_runtime = require("@fncts/io/IO/runtime");
6
+ _fncts_io_IO_runtime = require_chunk.__toESM(_fncts_io_IO_runtime, 1);
7
+ let _fncts_io_IO_api_acquireRelease = require("@fncts/io/IO/api/acquireRelease");
8
+ _fncts_io_IO_api_acquireRelease = require_chunk.__toESM(_fncts_io_IO_api_acquireRelease, 1);
9
+ let _fncts_io_Stream_api = require("@fncts/io/Stream/api");
10
+ _fncts_io_Stream_api = require_chunk.__toESM(_fncts_io_Stream_api, 1);
11
+ let _fncts_base_data_Cause_api = require("@fncts/base/data/Cause/api");
12
+ _fncts_base_data_Cause_api = require_chunk.__toESM(_fncts_base_data_Cause_api, 1);
13
+ let _fncts_io_IO_api_addFinalizer = require("@fncts/io/IO/api/addFinalizer");
14
+ _fncts_io_IO_api_addFinalizer = require_chunk.__toESM(_fncts_io_IO_api_addFinalizer, 1);
15
+ let _fncts_http_Server = require("@fncts/http/Server");
16
+ _fncts_http_Server = require_chunk.__toESM(_fncts_http_Server, 1);
17
+ let _fncts_io_Scope_api = require("@fncts/io/Scope/api");
18
+ _fncts_io_Scope_api = require_chunk.__toESM(_fncts_io_Scope_api, 1);
19
+ let _fncts_io_IO_api_memoize = require("@fncts/io/IO/api/memoize");
20
+ _fncts_io_IO_api_memoize = require_chunk.__toESM(_fncts_io_IO_api_memoize, 1);
21
+ let _fncts_io_IO_api_scope = require("@fncts/io/IO/api/scope");
22
+ _fncts_io_IO_api_scope = require_chunk.__toESM(_fncts_io_IO_api_scope, 1);
23
+ let _fncts_base_data_Exit_definition = require("@fncts/base/data/Exit/definition");
24
+ _fncts_base_data_Exit_definition = require_chunk.__toESM(_fncts_base_data_Exit_definition, 1);
25
+ let _fncts_http_HttpApp = require("@fncts/http/HttpApp");
26
+ _fncts_http_HttpApp = require_chunk.__toESM(_fncts_http_HttpApp, 1);
27
+ let _fncts_http_ServerRequest_definition = require("@fncts/http/ServerRequest/definition");
28
+ _fncts_http_ServerRequest_definition = require_chunk.__toESM(_fncts_http_ServerRequest_definition, 1);
29
+ let _fncts_io_IO_api_environment = require("@fncts/io/IO/api/environment");
30
+ _fncts_io_IO_api_environment = require_chunk.__toESM(_fncts_io_IO_api_environment, 1);
31
+ let _fncts_io_FiberSet = require("@fncts/io/FiberSet");
32
+ _fncts_io_FiberSet = require_chunk.__toESM(_fncts_io_FiberSet, 1);
33
+ let _fncts_http_Socket = require("@fncts/http/Socket");
34
+ _fncts_http_Socket = require_chunk.__toESM(_fncts_http_Socket, 1);
35
+ let _fncts_http_Body_definition = require("@fncts/http/Body/definition");
36
+ _fncts_http_Body_definition = require_chunk.__toESM(_fncts_http_Body_definition, 1);
37
+ let _fncts_http_ResponseError = require("@fncts/http/ResponseError");
38
+ let _fncts_http_ServerError = require("@fncts/http/ServerError");
39
+ let _fncts_node_http_ServerRequest = require("@fncts/node/http/ServerRequest");
40
+ let _fncts_node_stream = require("@fncts/node/stream");
41
+ _fncts_node_stream = require_chunk.__toESM(_fncts_node_stream, 1);
42
+ let node_http = require("node:http");
43
+ node_http = require_chunk.__toESM(node_http, 1);
44
+ let node_stream = require("node:stream");
45
+ let node_stream_promises = require("node:stream/promises");
46
+ let ws = require("ws");
47
+ ws = require_chunk.__toESM(ws, 1);
48
+ //#region build/esm/http/Server.js
37
49
  const fileName_1 = "(@fncts/node) src/http/Server.ts";
38
- const makeHandler = exports.makeHandler = makeHandler_1;
50
+ const makeHandler = makeHandler_1;
39
51
  /**
40
- * @tsplus static fncts.node.http.ServerOps make
41
- */
52
+ * @tsplus static fncts.node.http.ServerOps make
53
+ */
42
54
  function make(evaluate, options) {
43
- return tsplus_module_1.flatMap(scope => tsplus_module_1.flatMap(server => tsplus_module_1.flatMap(() => {
44
- const address = server.address();
45
- return tsplus_module_1.map(wss => tsplus_module_3.make({
46
- address: typeof address === "string" ? {
47
- _tag: "UnixAddress",
48
- path: address
49
- } : {
50
- _tag: "TcpAddress",
51
- hostname: address.address === "::" ? "0.0.0.0" : address.address,
52
- port: address.port
53
- },
54
- serve: (httpApp, middleware) => tsplus_module_1.flatMap(handler => tsplus_module_1.flatMap(upgradeHandler => tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, fileName_1 + ":92:12")(tsplus_module_1.succeed(() => server.on("upgrade", upgradeHandler), fileName_1 + ":92:15")), fileName_1 + ":91:12")(tsplus_module_1.succeed(() => server.on("request", handler), fileName_1 + ":91:15")), fileName_1 + ":83:12")(tsplus_module_2.addFinalizer(() => tsplus_module_1.succeed(() => {
55
- server.off("request", handler);
56
- server.off("upgrade", upgradeHandler);
57
- }, fileName_1 + ":85:17"), fileName_1 + ":84:28")), fileName_1 + ":82:35")(makeUpgradeHandler(wss, httpApp, middleware)), fileName_1 + ":81:35")(makeHandler_1(httpApp, middleware))
58
- }), fileName_1 + ":60:18")(tsplus_module_6.memoize(tsplus_module_5.extend(() => tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(() => new ws.WebSocketServer({
59
- noServer: true
60
- }), fileName_1 + ":62:29"), wss => tsplus_module_1.async(resume => {
61
- wss.close(() => resume(tsplus_module_1.unit));
62
- }), fileName_1 + ":62:26"), fileName_1 + ":61:19")(scope), fileName_1 + ":67:8"));
63
- }, fileName_1 + ":47:6")(tsplus_module_1.async(resume => {
64
- server.on("error", error => {
65
- resume(tsplus_module_1.failNow(new _ServerError.ServeError(error), fileName_1 + ":50:28"));
66
- });
67
- server.listen(options, () => {
68
- resume(tsplus_module_1.unit);
69
- });
70
- })), fileName_1 + ":33:21")(tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(evaluate, fileName_1 + ":34:27"), server => tsplus_module_1.async(resume => {
71
- server.close(error => {
72
- if (error) {
73
- resume(tsplus_module_1.haltNow(error, fileName_1 + ":38:32"));
74
- } else {
75
- resume(tsplus_module_1.unit);
76
- }
77
- });
78
- }), fileName_1 + ":34:24")), fileName_1 + ":31:20")(tsplus_module_7.scope);
55
+ return _fncts_io_IO_api.flatMap((scope) => _fncts_io_IO_api.flatMap((server) => _fncts_io_IO_api.flatMap(() => {
56
+ const address = server.address();
57
+ return _fncts_io_IO_api.map((wss) => _fncts_http_Server.make({
58
+ address: typeof address === "string" ? {
59
+ _tag: "UnixAddress",
60
+ path: address
61
+ } : {
62
+ _tag: "TcpAddress",
63
+ hostname: address.address === "::" ? "0.0.0.0" : address.address,
64
+ port: address.port
65
+ },
66
+ serve: (httpApp, middleware) => _fncts_io_IO_api.flatMap((handler) => _fncts_io_IO_api.flatMap((upgradeHandler) => _fncts_io_IO_api.flatMap(() => _fncts_io_IO_api.flatMap(() => _fncts_io_IO_api.map(() => void 0, fileName_1 + ":92:12")(_fncts_io_IO_api.succeed(() => server.on("upgrade", upgradeHandler), fileName_1 + ":92:15")), fileName_1 + ":91:12")(_fncts_io_IO_api.succeed(() => server.on("request", handler), fileName_1 + ":91:15")), fileName_1 + ":83:12")(_fncts_io_IO_api_addFinalizer.addFinalizer(() => _fncts_io_IO_api.succeed(() => {
67
+ server.off("request", handler);
68
+ server.off("upgrade", upgradeHandler);
69
+ }, fileName_1 + ":85:17"), fileName_1 + ":84:28")), fileName_1 + ":82:35")(makeUpgradeHandler(wss, httpApp, middleware)), fileName_1 + ":81:35")(makeHandler_1(httpApp, middleware))
70
+ }), fileName_1 + ":60:18")(_fncts_io_IO_api_memoize.memoize(_fncts_io_Scope_api.extend(() => _fncts_io_IO_api_acquireRelease.acquireRelease(() => _fncts_io_IO_api.succeed(() => new ws.WebSocketServer({ noServer: true }), fileName_1 + ":62:29"), (wss) => _fncts_io_IO_api.async((resume) => {
71
+ wss.close(() => resume(_fncts_io_IO_api.unit));
72
+ }), fileName_1 + ":62:26"), fileName_1 + ":61:19")(scope), fileName_1 + ":67:8"));
73
+ }, fileName_1 + ":47:6")(_fncts_io_IO_api.async((resume) => {
74
+ server.on("error", (error) => {
75
+ resume(_fncts_io_IO_api.failNow(new _fncts_http_ServerError.ServeError(error), fileName_1 + ":50:28"));
76
+ });
77
+ server.listen(options, () => {
78
+ resume(_fncts_io_IO_api.unit);
79
+ });
80
+ })), fileName_1 + ":33:21")(_fncts_io_IO_api_acquireRelease.acquireRelease(() => _fncts_io_IO_api.succeed(evaluate, fileName_1 + ":34:27"), (server) => _fncts_io_IO_api.async((resume) => {
81
+ server.close((error) => {
82
+ if (error) resume(_fncts_io_IO_api.haltNow(error, fileName_1 + ":38:32"));
83
+ else resume(_fncts_io_IO_api.unit);
84
+ });
85
+ }), fileName_1 + ":34:24")), fileName_1 + ":31:20")(_fncts_io_IO_api_scope.scope);
79
86
  }
80
87
  function makeHandler_1(httpApp, middleware) {
81
- const handledApp = tsplus_module_9.toHandled((request, exit) => {
82
- if (tsplus_module_8.isSuccess(exit)) {
83
- return tsplus_module_1.catchAllCause(cause => handleCause(request, cause), fileName_1 + ":126:63")(handleResponse(request, exit.value));
84
- }
85
- return handleCause(request, exit.cause);
86
- }, middleware)(httpApp);
87
- return tsplus_module_1.map(runFork => {
88
- return function handler(nodeRequest, nodeResponse) {
89
- const fiber = runFork(tsplus_module_11.provideSomeService(new _ServerRequest.ServerRequestImpl(nodeRequest, nodeResponse), tsplus_module_10.ServerRequestTag, fileName_1 + ":134:38")(handledApp));
90
- nodeResponse.on("close", () => {
91
- if (!nodeResponse.writableEnded) {
92
- if (!nodeResponse.headersSent) {
93
- nodeResponse.writeHead(499);
94
- }
95
- nodeResponse.end();
96
- tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(_ServerError.clientAbortFiberId));
97
- }
98
- });
99
- };
100
- }, fileName_1 + ":131:49")(tsplus_module_13.makeRuntime());
88
+ const handledApp = _fncts_http_HttpApp.toHandled((request, exit) => {
89
+ if (_fncts_base_data_Exit_definition.isSuccess(exit)) return _fncts_io_IO_api.catchAllCause((cause) => handleCause(request, cause), fileName_1 + ":126:63")(handleResponse(request, exit.value));
90
+ return handleCause(request, exit.cause);
91
+ }, middleware)(httpApp);
92
+ return _fncts_io_IO_api.map((runFork) => {
93
+ return function handler(nodeRequest, nodeResponse) {
94
+ const fiber = runFork(_fncts_io_IO_api_environment.provideSomeService(new _fncts_node_http_ServerRequest.ServerRequestImpl(nodeRequest, nodeResponse), _fncts_http_ServerRequest_definition.ServerRequestTag, fileName_1 + ":134:38")(handledApp));
95
+ nodeResponse.on("close", () => {
96
+ if (!nodeResponse.writableEnded) {
97
+ if (!nodeResponse.headersSent) nodeResponse.writeHead(499);
98
+ nodeResponse.end();
99
+ _fncts_io_IO_runtime.unsafeRunOrFork(fiber.interruptAsFork(_fncts_http_ServerError.clientAbortFiberId));
100
+ }
101
+ });
102
+ };
103
+ }, fileName_1 + ":131:49")(_fncts_io_FiberSet.makeRuntime());
101
104
  }
102
105
  function makeUpgradeHandler(wss, httpApp, middleware) {
103
- const handledApp = tsplus_module_9.toHandled((request, exit) => {
104
- if (tsplus_module_8.isSuccess(exit)) {
105
- return tsplus_module_1.catchAllCause(cause => handleCause(request, cause), fileName_1 + ":160:63")(handleResponse(request, exit.value));
106
- }
107
- return handleCause(request, exit.cause);
108
- }, middleware)(httpApp);
109
- return tsplus_module_1.map(runFork => {
110
- return function handler(nodeRequest, socket, head) {
111
- let nodeResponse_ = undefined;
112
- const nodeResponse = () => {
113
- if (nodeResponse_ === undefined) {
114
- nodeResponse_ = new Http.ServerResponse(nodeRequest);
115
- nodeResponse_.assignSocket(socket);
116
- }
117
- return nodeResponse_;
118
- };
119
- const upgradeEffect = tsplus_module_14.fromWebSocket(tsplus_module_1.flatMap(wss => tsplus_module_4.acquireRelease(() => tsplus_module_1.async(resume => {
120
- wss.handleUpgrade(nodeRequest, socket, head, ws => {
121
- resume(tsplus_module_1.succeedNow(ws, fileName_1 + ":182:37"));
122
- });
123
- }), ws => tsplus_module_1.succeed(() => ws.close(), fileName_1 + ":185:23"), fileName_1 + ":179:28"), fileName_1 + ":178:20")(wss));
124
- const fiber = runFork(tsplus_module_11.provideSomeService(new _ServerRequest.ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect), tsplus_module_10.ServerRequestTag, fileName_1 + ":191:38")(handledApp));
125
- socket.on("close", () => {
126
- const res = nodeResponse();
127
- if (!socket.writableEnded) {
128
- if (!res.headersSent) {
129
- res.writeHead(499);
130
- }
131
- res.end();
132
- tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(_ServerError.clientAbortFiberId));
133
- }
134
- });
135
- };
136
- }, fileName_1 + ":165:49")(tsplus_module_13.makeRuntime());
106
+ const handledApp = _fncts_http_HttpApp.toHandled((request, exit) => {
107
+ if (_fncts_base_data_Exit_definition.isSuccess(exit)) return _fncts_io_IO_api.catchAllCause((cause) => handleCause(request, cause), fileName_1 + ":160:63")(handleResponse(request, exit.value));
108
+ return handleCause(request, exit.cause);
109
+ }, middleware)(httpApp);
110
+ return _fncts_io_IO_api.map((runFork) => {
111
+ return function handler(nodeRequest, socket, head) {
112
+ let nodeResponse_ = void 0;
113
+ const nodeResponse = () => {
114
+ if (nodeResponse_ === void 0) {
115
+ nodeResponse_ = new node_http.ServerResponse(nodeRequest);
116
+ nodeResponse_.assignSocket(socket);
117
+ }
118
+ return nodeResponse_;
119
+ };
120
+ const upgradeEffect = _fncts_http_Socket.fromWebSocket(_fncts_io_IO_api.flatMap((wss) => _fncts_io_IO_api_acquireRelease.acquireRelease(() => _fncts_io_IO_api.async((resume) => {
121
+ wss.handleUpgrade(nodeRequest, socket, head, (ws$1) => {
122
+ resume(_fncts_io_IO_api.succeedNow(ws$1, fileName_1 + ":182:37"));
123
+ });
124
+ }), (ws$2) => _fncts_io_IO_api.succeed(() => ws$2.close(), fileName_1 + ":185:23"), fileName_1 + ":179:28"), fileName_1 + ":178:20")(wss));
125
+ const fiber = runFork(_fncts_io_IO_api_environment.provideSomeService(new _fncts_node_http_ServerRequest.ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect), _fncts_http_ServerRequest_definition.ServerRequestTag, fileName_1 + ":191:38")(handledApp));
126
+ socket.on("close", () => {
127
+ const res = nodeResponse();
128
+ if (!socket.writableEnded) {
129
+ if (!res.headersSent) res.writeHead(499);
130
+ res.end();
131
+ _fncts_io_IO_runtime.unsafeRunOrFork(fiber.interruptAsFork(_fncts_http_ServerError.clientAbortFiberId));
132
+ }
133
+ });
134
+ };
135
+ }, fileName_1 + ":165:49")(_fncts_io_FiberSet.makeRuntime());
137
136
  }
138
137
  function handleCause(request, cause) {
139
- return tsplus_module_1.succeed(() => {
140
- const nodeResponse = request.resolvedResponse;
141
- if (!nodeResponse.headersSent) {
142
- nodeResponse.writeHead(tsplus_module_15.isInterruptedOnly(cause) ? 503 : 500);
143
- }
144
- if (!nodeResponse.writableEnded) {
145
- nodeResponse.end();
146
- }
147
- }, fileName_1 + ":212:12");
138
+ return _fncts_io_IO_api.succeed(() => {
139
+ const nodeResponse = request.resolvedResponse;
140
+ if (!nodeResponse.headersSent) nodeResponse.writeHead(_fncts_base_data_Cause_api.isInterruptedOnly(cause) ? 503 : 500);
141
+ if (!nodeResponse.writableEnded) nodeResponse.end();
142
+ }, fileName_1 + ":212:12");
148
143
  }
149
144
  function handleResponse(request, response) {
150
- return tsplus_module_1.defer(() => {
151
- const nodeResponse = request.resolvedResponse;
152
- if (nodeResponse.writableEnded) {
153
- return tsplus_module_1.unit;
154
- } else if (request.method === "HEAD") {
155
- nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
156
- nodeResponse.end();
157
- return tsplus_module_1.unit;
158
- }
159
- tsplus_module_16.concrete(response.body);
160
- switch (response.body._tag) {
161
- case 0 /* BodyTag.Empty */:
162
- {
163
- nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
164
- nodeResponse.end();
165
- return tsplus_module_1.unit;
166
- }
167
- case 1 /* BodyTag.Raw */:
168
- {
169
- nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
170
- if (typeof response.body.body === "object" && response.body.body !== null && "pipe" in response.body.body && typeof response.body.body.pipe === "function") {
171
- return tsplus_module_1.fromPromiseCatch(() => (0, _promises.pipeline)(response.body.body, nodeResponse, {
172
- end: true
173
- }), error => new _ResponseError.ResponseError(request, response, "Decode", error), fileName_1 + ":248:37");
174
- }
175
- nodeResponse.end(response.body.body);
176
- return tsplus_module_1.unit;
177
- }
178
- case 2 /* BodyTag.Uint8Array */:
179
- {
180
- nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
181
- nodeResponse.end(response.body.body);
182
- return tsplus_module_1.unit;
183
- }
184
- case 3 /* BodyTag.FormData */:
185
- {
186
- return tsplus_module_1.async(resume => {
187
- const r = new Response(response.body.formData);
188
- const headers = {
189
- ...response.headers,
190
- ...Object.fromEntries(r.headers)
191
- };
192
- nodeResponse.writeHead(response.status, headers);
193
- _nodeStream.Readable.fromWeb(r.body).pipe(nodeResponse).on("error", error => {
194
- resume(tsplus_module_1.failNow(new _ResponseError.ResponseError(request, response, "Decode", error), fileName_1 + ":272:32"));
195
- }).once("finish", () => {
196
- resume(tsplus_module_1.unit);
197
- });
198
- });
199
- }
200
- case 4 /* BodyTag.Stream */:
201
- {
202
- nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
203
- return tsplus_module_17.run(NodeStream.fromWritable(() => nodeResponse, error => new _ResponseError.ResponseError(request, response, "Decode", error)), fileName_1 + ":283:15")(tsplus_module_17.mapError(error => new _ResponseError.ResponseError(request, response, "Decode", error), fileName_1 + ":282:20")(response.body.stream));
204
- }
205
- }
206
- }, fileName_1 + ":224:18");
145
+ return _fncts_io_IO_api.defer(() => {
146
+ const nodeResponse = request.resolvedResponse;
147
+ if (nodeResponse.writableEnded) return _fncts_io_IO_api.unit;
148
+ else if (request.method === "HEAD") {
149
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
150
+ nodeResponse.end();
151
+ return _fncts_io_IO_api.unit;
152
+ }
153
+ _fncts_http_Body_definition.concrete(response.body);
154
+ switch (response.body._tag) {
155
+ case 0:
156
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
157
+ nodeResponse.end();
158
+ return _fncts_io_IO_api.unit;
159
+ case 1:
160
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
161
+ if (typeof response.body.body === "object" && response.body.body !== null && "pipe" in response.body.body && typeof response.body.body.pipe === "function") return _fncts_io_IO_api.fromPromiseCatch(() => (0, node_stream_promises.pipeline)(response.body.body, nodeResponse, { end: true }), (error) => new _fncts_http_ResponseError.ResponseError(request, response, "Decode", error), fileName_1 + ":248:37");
162
+ nodeResponse.end(response.body.body);
163
+ return _fncts_io_IO_api.unit;
164
+ case 2:
165
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
166
+ nodeResponse.end(response.body.body);
167
+ return _fncts_io_IO_api.unit;
168
+ case 3: return _fncts_io_IO_api.async((resume) => {
169
+ const r = new Response(response.body.formData);
170
+ const headers = {
171
+ ...response.headers,
172
+ ...Object.fromEntries(r.headers)
173
+ };
174
+ nodeResponse.writeHead(response.status, headers);
175
+ node_stream.Readable.fromWeb(r.body).pipe(nodeResponse).on("error", (error) => {
176
+ resume(_fncts_io_IO_api.failNow(new _fncts_http_ResponseError.ResponseError(request, response, "Decode", error), fileName_1 + ":272:32"));
177
+ }).once("finish", () => {
178
+ resume(_fncts_io_IO_api.unit);
179
+ });
180
+ });
181
+ case 4:
182
+ nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
183
+ return _fncts_io_Stream_api.run(_fncts_node_stream.fromWritable(() => nodeResponse, (error) => new _fncts_http_ResponseError.ResponseError(request, response, "Decode", error)), fileName_1 + ":283:15")(_fncts_io_Stream_api.mapError((error) => new _fncts_http_ResponseError.ResponseError(request, response, "Decode", error), fileName_1 + ":282:20")(response.body.stream));
184
+ }
185
+ }, fileName_1 + ":224:18");
207
186
  }
187
+ //#endregion
188
+ exports.handleResponse = handleResponse;
189
+ exports.make = make;
190
+ exports.makeHandler = makeHandler;
191
+ exports.makeUpgradeHandler = makeUpgradeHandler;
192
+
208
193
  //# sourceMappingURL=Server.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Server.cjs","names":["_ResponseError","require","_ServerError","_ServerRequest","NodeStream","_interopRequireWildcard","Http","_nodeStream","_promises","ws","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","makeHandler","exports","makeHandler_1","make","evaluate","options","tsplus_module_1","flatMap","scope","server","address","wss","tsplus_module_3","_tag","path","hostname","port","serve","httpApp","middleware","handler","upgradeHandler","map","fileName_1","succeed","on","tsplus_module_2","addFinalizer","off","makeUpgradeHandler","tsplus_module_6","memoize","tsplus_module_5","extend","tsplus_module_4","acquireRelease","WebSocketServer","noServer","async","resume","close","unit","error","failNow","ServeError","listen","haltNow","tsplus_module_7","handledApp","tsplus_module_9","toHandled","request","exit","tsplus_module_8","isSuccess","catchAllCause","cause","handleCause","handleResponse","value","runFork","nodeRequest","nodeResponse","fiber","tsplus_module_11","provideSomeService","ServerRequestImpl","tsplus_module_10","ServerRequestTag","writableEnded","headersSent","writeHead","end","tsplus_module_12","unsafeRunOrFork","interruptAsFork","clientAbortFiberId","tsplus_module_13","makeRuntime","socket","head","nodeResponse_","undefined","ServerResponse","assignSocket","upgradeEffect","tsplus_module_14","fromWebSocket","handleUpgrade","succeedNow","res","resolvedResponse","tsplus_module_15","isInterruptedOnly","response","defer","method","status","headers","toHeadersInit","tsplus_module_16","concrete","body","pipe","fromPromiseCatch","pipeline","ResponseError","Response","formData","fromEntries","Readable","fromWeb","once","tsplus_module_17","run","fromWritable","mapError","stream"],"sources":["../../_src/http/Server.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Server.cjs","names":["tsplus_module_1","tsplus_module_3","tsplus_module_2","tsplus_module_6","tsplus_module_5","tsplus_module_4","ServeError","tsplus_module_7","tsplus_module_9","tsplus_module_8","tsplus_module_11","ServerRequestImpl","tsplus_module_10","clientAbortFiberId","tsplus_module_13","Http","tsplus_module_14","ws","tsplus_module_15","ResponseError","tsplus_module_17","NodeStream"],"sources":["../../esm/http/Server.js"],"sourcesContent":["const fileName_1 = \"(@fncts/node) src/http/Server.ts\";\nimport * as tsplus_module_1 from \"@fncts/io/IO/api\";\nimport * as tsplus_module_2 from \"@fncts/io/IO/api/addFinalizer\";\nimport * as tsplus_module_3 from \"@fncts/http/Server\";\nimport * as tsplus_module_4 from \"@fncts/io/IO/api/acquireRelease\";\nimport * as tsplus_module_5 from \"@fncts/io/Scope/api\";\nimport * as tsplus_module_6 from \"@fncts/io/IO/api/memoize\";\nimport * as tsplus_module_7 from \"@fncts/io/IO/api/scope\";\nimport * as tsplus_module_8 from \"@fncts/base/data/Exit/definition\";\nimport * as tsplus_module_9 from \"@fncts/http/HttpApp\";\nimport * as tsplus_module_10 from \"@fncts/http/ServerRequest/definition\";\nimport * as tsplus_module_11 from \"@fncts/io/IO/api/environment\";\nimport * as tsplus_module_12 from \"@fncts/io/IO/runtime\";\nimport * as tsplus_module_13 from \"@fncts/io/FiberSet\";\nimport * as tsplus_module_14 from \"@fncts/http/Socket\";\nimport * as tsplus_module_15 from \"@fncts/base/data/Cause/api\";\nimport * as tsplus_module_16 from \"@fncts/http/Body/definition\";\nimport * as tsplus_module_17 from \"@fncts/io/Stream/api\";\nexport const makeHandler = makeHandler_1;\nimport { ResponseError } from \"@fncts/http/ResponseError\";\nimport { Server } from \"@fncts/http/Server\";\nimport { clientAbortFiberId, ServeError } from \"@fncts/http/ServerError\";\nimport { ServerRequestImpl } from \"@fncts/node/http/ServerRequest\";\nimport * as NodeStream from \"@fncts/node/stream\";\nimport * as Http from \"node:http\";\nimport { Readable } from \"node:stream\";\nimport { pipeline } from \"node:stream/promises\";\nimport * as ws from \"ws\";\n/**\n * @tsplus static fncts.node.http.ServerOps make\n */\nexport function make(evaluate, options) {\n return tsplus_module_1.flatMap(scope => tsplus_module_1.flatMap(server => tsplus_module_1.flatMap(() => {\n const address = server.address();\n return tsplus_module_1.map(wss => tsplus_module_3.make({\n address: typeof address === \"string\"\n ? { _tag: \"UnixAddress\", path: address }\n : {\n _tag: \"TcpAddress\",\n hostname: address.address === \"::\" ? \"0.0.0.0\" : address.address,\n port: address.port,\n },\n serve: (httpApp, middleware) => tsplus_module_1.flatMap(handler => tsplus_module_1.flatMap(upgradeHandler => tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, fileName_1 + \":92:12\")(tsplus_module_1.succeed(() => server.on(\"upgrade\", upgradeHandler), fileName_1 + \":92:15\")), fileName_1 + \":91:12\")(tsplus_module_1.succeed(() => server.on(\"request\", handler), fileName_1 + \":91:15\")), fileName_1 + \":83:12\")(tsplus_module_2.addFinalizer(() => tsplus_module_1.succeed(() => {\n server.off(\"request\", handler);\n server.off(\"upgrade\", upgradeHandler);\n }, fileName_1 + \":85:17\"), fileName_1 + \":84:28\")), fileName_1 + \":82:35\")(makeUpgradeHandler(wss, httpApp, middleware)), fileName_1 + \":81:35\")(makeHandler_1(httpApp, middleware)),\n }), fileName_1 + \":60:18\")(tsplus_module_6.memoize(tsplus_module_5.extend(() => tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(() => new ws.WebSocketServer({ noServer: true }), fileName_1 + \":62:29\"), (wss) => tsplus_module_1.async((resume) => {\n wss.close(() => resume(tsplus_module_1.unit));\n }), fileName_1 + \":62:26\"), fileName_1 + \":61:19\")(scope), fileName_1 + \":67:8\"));\n }, fileName_1 + \":47:6\")(tsplus_module_1.async((resume) => {\n server.on(\"error\", (error) => {\n resume(tsplus_module_1.failNow(new ServeError(error), fileName_1 + \":50:28\"));\n });\n server.listen(options, () => {\n resume(tsplus_module_1.unit);\n });\n })), fileName_1 + \":33:21\")(tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(evaluate, fileName_1 + \":34:27\"), (server) => tsplus_module_1.async((resume) => {\n server.close((error) => {\n if (error) {\n resume(tsplus_module_1.haltNow(error, fileName_1 + \":38:32\"));\n }\n else {\n resume(tsplus_module_1.unit);\n }\n });\n }), fileName_1 + \":34:24\")), fileName_1 + \":31:20\")(tsplus_module_7.scope);\n}\nfunction makeHandler_1(httpApp, middleware) {\n const handledApp = tsplus_module_9.toHandled((request, exit) => {\n if (tsplus_module_8.isSuccess(exit)) {\n return tsplus_module_1.catchAllCause((cause) => handleCause(request, cause), fileName_1 + \":126:63\")(handleResponse(request, exit.value));\n }\n return handleCause(request, exit.cause);\n }, middleware)(httpApp);\n return tsplus_module_1.map((runFork) => {\n return function handler(nodeRequest, nodeResponse) {\n const fiber = runFork(tsplus_module_11.provideSomeService(new ServerRequestImpl(nodeRequest, nodeResponse), tsplus_module_10.ServerRequestTag, fileName_1 + \":134:38\")(handledApp));\n nodeResponse.on(\"close\", () => {\n if (!nodeResponse.writableEnded) {\n if (!nodeResponse.headersSent) {\n nodeResponse.writeHead(499);\n }\n nodeResponse.end();\n tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(clientAbortFiberId));\n }\n });\n };\n }, fileName_1 + \":131:49\")(tsplus_module_13.makeRuntime());\n}\nexport function makeUpgradeHandler(wss, httpApp, middleware) {\n const handledApp = tsplus_module_9.toHandled((request, exit) => {\n if (tsplus_module_8.isSuccess(exit)) {\n return tsplus_module_1.catchAllCause((cause) => handleCause(request, cause), fileName_1 + \":160:63\")(handleResponse(request, exit.value));\n }\n return handleCause(request, exit.cause);\n }, middleware)(httpApp);\n return tsplus_module_1.map((runFork) => {\n return function handler(nodeRequest, socket, head) {\n let nodeResponse_ = undefined;\n const nodeResponse = () => {\n if (nodeResponse_ === undefined) {\n nodeResponse_ = new Http.ServerResponse(nodeRequest);\n nodeResponse_.assignSocket(socket);\n }\n return nodeResponse_;\n };\n const upgradeEffect = tsplus_module_14.fromWebSocket(tsplus_module_1.flatMap((wss) => tsplus_module_4.acquireRelease(() => tsplus_module_1.async((resume) => {\n wss.handleUpgrade(nodeRequest, socket, head, (ws) => {\n resume(tsplus_module_1.succeedNow(ws, fileName_1 + \":182:37\"));\n });\n }), (ws) => tsplus_module_1.succeed(() => ws.close(), fileName_1 + \":185:23\"), fileName_1 + \":179:28\"), fileName_1 + \":178:20\")(wss));\n const fiber = runFork(tsplus_module_11.provideSomeService(new ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect), tsplus_module_10.ServerRequestTag, fileName_1 + \":191:38\")(handledApp));\n socket.on(\"close\", () => {\n const res = nodeResponse();\n if (!socket.writableEnded) {\n if (!res.headersSent) {\n res.writeHead(499);\n }\n res.end();\n tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(clientAbortFiberId));\n }\n });\n };\n }, fileName_1 + \":165:49\")(tsplus_module_13.makeRuntime());\n}\nfunction handleCause(request, cause) {\n return tsplus_module_1.succeed(() => {\n const nodeResponse = request.resolvedResponse;\n if (!nodeResponse.headersSent) {\n nodeResponse.writeHead(tsplus_module_15.isInterruptedOnly(cause) ? 503 : 500);\n }\n if (!nodeResponse.writableEnded) {\n nodeResponse.end();\n }\n }, fileName_1 + \":212:12\");\n}\nexport function handleResponse(request, response) {\n return tsplus_module_1.defer(() => {\n const nodeResponse = request.resolvedResponse;\n if (nodeResponse.writableEnded) {\n return tsplus_module_1.unit;\n }\n else if (request.method === \"HEAD\") {\n nodeResponse.writeHead(response.status, response.headers.toHeadersInit());\n nodeResponse.end();\n return tsplus_module_1.unit;\n }\n tsplus_module_16.concrete(response.body);\n switch (response.body._tag) {\n case 0 /* BodyTag.Empty */: {\n nodeResponse.writeHead(response.status, response.headers.toHeadersInit());\n nodeResponse.end();\n return tsplus_module_1.unit;\n }\n case 1 /* BodyTag.Raw */: {\n nodeResponse.writeHead(response.status, response.headers.toHeadersInit());\n if (typeof response.body.body === \"object\" &&\n response.body.body !== null &&\n \"pipe\" in response.body.body &&\n typeof response.body.body.pipe === \"function\") {\n return tsplus_module_1.fromPromiseCatch(() => pipeline(response.body.body, nodeResponse, { end: true }), (error) => new ResponseError(request, response, \"Decode\", error), fileName_1 + \":248:37\");\n }\n nodeResponse.end(response.body.body);\n return tsplus_module_1.unit;\n }\n case 2 /* BodyTag.Uint8Array */: {\n nodeResponse.writeHead(response.status, response.headers.toHeadersInit());\n nodeResponse.end(response.body.body);\n return tsplus_module_1.unit;\n }\n case 3 /* BodyTag.FormData */: {\n return tsplus_module_1.async((resume) => {\n const r = new Response(response.body.formData);\n const headers = {\n ...response.headers,\n ...Object.fromEntries(r.headers),\n };\n nodeResponse.writeHead(response.status, headers);\n Readable.fromWeb(r.body)\n .pipe(nodeResponse)\n .on(\"error\", (error) => {\n resume(tsplus_module_1.failNow(new ResponseError(request, response, \"Decode\", error), fileName_1 + \":272:32\"));\n })\n .once(\"finish\", () => {\n resume(tsplus_module_1.unit);\n });\n });\n }\n case 4 /* BodyTag.Stream */: {\n nodeResponse.writeHead(response.status, response.headers.toHeadersInit());\n return tsplus_module_17.run(NodeStream.fromWritable(() => nodeResponse, (error) => new ResponseError(request, response, \"Decode\", error)), fileName_1 + \":283:15\")(tsplus_module_17.mapError((error) => new ResponseError(request, response, \"Decode\", error), fileName_1 + \":282:20\")(response.body.stream));\n }\n }\n }, fileName_1 + \":224:18\");\n}\n//# sourceMappingURL=Server.js.map"],"mappings":"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"}
@@ -1,45 +1,44 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ServerRequestImpl = void 0;
7
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@fncts/io/IO/api"));
8
- var _RequestError = /*#__PURE__*/require("@fncts/http/RequestError");
9
- var _ServerRequest = /*#__PURE__*/require("@fncts/http/ServerRequest");
10
- var _IncomingMessage = /*#__PURE__*/require("@fncts/node/http/IncomingMessage");
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../chunk.cjs");
3
+ let _fncts_io_IO_api = require("@fncts/io/IO/api");
4
+ _fncts_io_IO_api = require_chunk.__toESM(_fncts_io_IO_api, 1);
5
+ let _fncts_http_RequestError = require("@fncts/http/RequestError");
6
+ let _fncts_http_ServerRequest = require("@fncts/http/ServerRequest");
7
+ let _fncts_node_http_IncomingMessage = require("@fncts/node/http/IncomingMessage");
8
+ //#region build/esm/http/ServerRequest.js
12
9
  const fileName_1 = "(@fncts/node) src/http/ServerRequest.ts";
13
- class ServerRequestImpl extends _IncomingMessage.IncomingMessageImpl {
14
- source;
15
- response;
16
- upgradeEffect;
17
- url;
18
- headersOverride;
19
- [_ServerRequest.ServerRequestTypeId] = _ServerRequest.ServerRequestTypeId;
20
- constructor(source, response, upgradeEffect, url = source.url, headersOverride, remoteAddressOverride) {
21
- super(source, error => new _RequestError.RequestError(this, "Decode", error), remoteAddressOverride);
22
- this.source = source;
23
- this.response = response;
24
- this.upgradeEffect = upgradeEffect;
25
- this.url = url;
26
- this.headersOverride = headersOverride;
27
- }
28
- get resolvedResponse() {
29
- return typeof this.response === "function" ? this.response() : this.response;
30
- }
31
- modify(options) {
32
- return new ServerRequestImpl(this.source, this.response, this.upgradeEffect, options.url ?? this.url, options.headers ?? this.headersOverride, options.remoteAddress ?? this.remoteAddressOverride);
33
- }
34
- get originalUrl() {
35
- return this.source.url;
36
- }
37
- get method() {
38
- return this.source.method.toUpperCase();
39
- }
40
- get upgrade() {
41
- return this.upgradeEffect ?? tsplus_module_1.failNow(new _RequestError.RequestError(this, "Decode", "Not an upgradeable ServerRequest"), fileName_1 + ":52:44");
42
- }
43
- }
10
+ var ServerRequestImpl = class ServerRequestImpl extends _fncts_node_http_IncomingMessage.IncomingMessageImpl {
11
+ source;
12
+ response;
13
+ upgradeEffect;
14
+ url;
15
+ headersOverride;
16
+ [_fncts_http_ServerRequest.ServerRequestTypeId] = _fncts_http_ServerRequest.ServerRequestTypeId;
17
+ constructor(source, response, upgradeEffect, url = source.url, headersOverride, remoteAddressOverride) {
18
+ super(source, (error) => new _fncts_http_RequestError.RequestError(this, "Decode", error), remoteAddressOverride);
19
+ this.source = source;
20
+ this.response = response;
21
+ this.upgradeEffect = upgradeEffect;
22
+ this.url = url;
23
+ this.headersOverride = headersOverride;
24
+ }
25
+ get resolvedResponse() {
26
+ return typeof this.response === "function" ? this.response() : this.response;
27
+ }
28
+ modify(options) {
29
+ return new ServerRequestImpl(this.source, this.response, this.upgradeEffect, options.url ?? this.url, options.headers ?? this.headersOverride, options.remoteAddress ?? this.remoteAddressOverride);
30
+ }
31
+ get originalUrl() {
32
+ return this.source.url;
33
+ }
34
+ get method() {
35
+ return this.source.method.toUpperCase();
36
+ }
37
+ get upgrade() {
38
+ return this.upgradeEffect ?? _fncts_io_IO_api.failNow(new _fncts_http_RequestError.RequestError(this, "Decode", "Not an upgradeable ServerRequest"), fileName_1 + ":52:44");
39
+ }
40
+ };
41
+ //#endregion
44
42
  exports.ServerRequestImpl = ServerRequestImpl;
43
+
45
44
  //# sourceMappingURL=ServerRequest.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ServerRequest.cjs","names":["_RequestError","require","_ServerRequest","_IncomingMessage","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ServerRequestImpl","IncomingMessageImpl","source","response","upgradeEffect","url","headersOverride","ServerRequestTypeId","constructor","remoteAddressOverride","error","RequestError","resolvedResponse","modify","options","headers","remoteAddress","originalUrl","method","toUpperCase","upgrade","tsplus_module_1","failNow","fileName_1","exports"],"sources":["../../_src/http/ServerRequest.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ServerRequest.cjs","names":["IncomingMessageImpl","ServerRequestTypeId","RequestError","tsplus_module_1"],"sources":["../../esm/http/ServerRequest.js"],"sourcesContent":["const fileName_1 = \"(@fncts/node) src/http/ServerRequest.ts\";\nimport * as tsplus_module_1 from \"@fncts/io/IO/api\";\nimport { RequestError } from \"@fncts/http/RequestError\";\nimport { ServerRequestTypeId } from \"@fncts/http/ServerRequest\";\nimport { IncomingMessageImpl } from \"@fncts/node/http/IncomingMessage\";\nexport class ServerRequestImpl extends IncomingMessageImpl {\n source;\n response;\n upgradeEffect;\n url;\n headersOverride;\n [ServerRequestTypeId] = ServerRequestTypeId;\n constructor(source, response, upgradeEffect, url = source.url, headersOverride, remoteAddressOverride) {\n super(source, (error) => new RequestError(this, \"Decode\", error), remoteAddressOverride);\n this.source = source;\n this.response = response;\n this.upgradeEffect = upgradeEffect;\n this.url = url;\n this.headersOverride = headersOverride;\n }\n get resolvedResponse() {\n return typeof this.response === \"function\" ? this.response() : this.response;\n }\n modify(options) {\n return new ServerRequestImpl(this.source, this.response, this.upgradeEffect, options.url ?? this.url, options.headers ?? this.headersOverride, options.remoteAddress ?? this.remoteAddressOverride);\n }\n get originalUrl() {\n return this.source.url;\n }\n get method() {\n return this.source.method.toUpperCase();\n }\n get upgrade() {\n return this.upgradeEffect ?? tsplus_module_1.failNow(new RequestError(this, \"Decode\", \"Not an upgradeable ServerRequest\"), fileName_1 + \":52:44\");\n }\n}\n//# sourceMappingURL=ServerRequest.js.map"],"mappings":";;;;;;;;AAAA,MAAM,aAAa;AAKnB,IAAa,oBAAb,MAAa,0BAA0BA,iCAAAA,oBAAoB;CACvD;CACA;CACA;CACA;CACA;CACA,CAACC,0BAAAA,uBAAuBA,0BAAAA;CACxB,YAAY,QAAQ,UAAU,eAAe,MAAM,OAAO,KAAK,iBAAiB,uBAAuB;AACnG,QAAM,SAAS,UAAU,IAAIC,yBAAAA,aAAa,MAAM,UAAU,MAAM,EAAE,sBAAsB;AACxF,OAAK,SAAS;AACd,OAAK,WAAW;AAChB,OAAK,gBAAgB;AACrB,OAAK,MAAM;AACX,OAAK,kBAAkB;;CAE3B,IAAI,mBAAmB;AACnB,SAAO,OAAO,KAAK,aAAa,aAAa,KAAK,UAAU,GAAG,KAAK;;CAExE,OAAO,SAAS;AACZ,SAAO,IAAI,kBAAkB,KAAK,QAAQ,KAAK,UAAU,KAAK,eAAe,QAAQ,OAAO,KAAK,KAAK,QAAQ,WAAW,KAAK,iBAAiB,QAAQ,iBAAiB,KAAK,sBAAsB;;CAEvM,IAAI,cAAc;AACd,SAAO,KAAK,OAAO;;CAEvB,IAAI,SAAS;AACT,SAAO,KAAK,OAAO,OAAO,aAAa;;CAE3C,IAAI,UAAU;AACV,SAAO,KAAK,iBAAiBC,iBAAgB,QAAQ,IAAID,yBAAAA,aAAa,MAAM,UAAU,mCAAmC,EAAE,aAAa,SAAS"}
package/_cjs/index.cjs CHANGED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=index.cjs.map