@fncts/node 0.0.33 → 0.0.35
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/_cjs/http/IncomingMessage.cjs +59 -0
- package/_cjs/http/IncomingMessage.cjs.map +1 -0
- package/_cjs/http/Server.cjs +205 -0
- package/_cjs/http/Server.cjs.map +1 -0
- package/_cjs/http/ServerRequest.cjs +43 -0
- package/_cjs/http/ServerRequest.cjs.map +1 -0
- package/_cjs/stream/api.cjs +191 -52
- package/_cjs/stream/api.cjs.map +1 -1
- package/_mjs/http/IncomingMessage.mjs +50 -0
- package/_mjs/http/IncomingMessage.mjs.map +1 -0
- package/_mjs/http/Server.mjs +194 -0
- package/_mjs/http/Server.mjs.map +1 -0
- package/_mjs/http/ServerRequest.mjs +34 -0
- package/_mjs/http/ServerRequest.mjs.map +1 -0
- package/_mjs/stream/api.mjs +187 -50
- package/_mjs/stream/api.mjs.map +1 -1
- package/_src/http/IncomingMessage.ts +60 -0
- package/_src/http/Server.ts +282 -0
- package/_src/http/ServerRequest.ts +54 -0
- package/_src/stream/api.ts +247 -50
- package/http/IncomingMessage.d.ts +23 -0
- package/http/Server.d.ts +25 -0
- package/http/ServerRequest.d.ts +29 -0
- package/package.json +3 -2
- package/stream/api.d.ts +23 -8
@@ -0,0 +1,59 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.IncomingMessageImpl = void 0;
|
7
|
+
var _Headers = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/http/Headers"));
|
8
|
+
var tsplus_module_1 = _Headers;
|
9
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
|
10
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/memoize"));
|
11
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/runtime"));
|
12
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/api"));
|
13
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
14
|
+
var _UrlParams = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/http/UrlParams"));
|
15
|
+
var tsplus_module_7 = _UrlParams;
|
16
|
+
var _IncomingMessage = /*#__PURE__*/require("@fncts/http/IncomingMessage");
|
17
|
+
var NodeStream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("../stream.cjs"));
|
18
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
19
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
20
|
+
const fileName_1 = "(@fncts/node) src/http/IncomingMessage.ts";
|
21
|
+
class IncomingMessageImpl extends _IncomingMessage.IncomingMessage {
|
22
|
+
constructor(source, onError, remoteAddressOverride) {
|
23
|
+
super();
|
24
|
+
this.source = source;
|
25
|
+
this.onError = onError;
|
26
|
+
this.remoteAddressOverride = remoteAddressOverride;
|
27
|
+
}
|
28
|
+
get headers() {
|
29
|
+
return tsplus_module_1.make(this.source.headers);
|
30
|
+
}
|
31
|
+
get remoteAddress() {
|
32
|
+
return tsplus_module_2.fromNullable(this.remoteAddressOverride ?? this.source.socket.remoteAddress);
|
33
|
+
}
|
34
|
+
get text() {
|
35
|
+
if (this.textIO) {
|
36
|
+
return this.textIO;
|
37
|
+
}
|
38
|
+
this.textIO = tsplus_module_5.getOrThrow(tsplus_module_4.unsafeRun(tsplus_module_3.memoize(NodeStream.toString(() => this.source, this.onError), fileName_1 + ":33:65")));
|
39
|
+
return this.textIO;
|
40
|
+
}
|
41
|
+
get json() {
|
42
|
+
return tsplus_module_6.flatMap(text => tsplus_module_6.tryCatch(() => JSON.parse(text), this.onError, fileName_1 + ":39:51"), fileName_1 + ":39:29")(this.text);
|
43
|
+
}
|
44
|
+
get urlParamsBody() {
|
45
|
+
return tsplus_module_6.flatMap(text => tsplus_module_6.tryCatch(() => tsplus_module_7.make(new URLSearchParams(text)), this.onError, fileName_1 + ":43:51"), fileName_1 + ":43:29")(this.text);
|
46
|
+
}
|
47
|
+
get arrayBuffer() {
|
48
|
+
if (this.arrayBufferIO) {
|
49
|
+
return this.arrayBufferIO;
|
50
|
+
}
|
51
|
+
this.arrayBufferIO = tsplus_module_5.getOrThrow(tsplus_module_4.unsafeRun(tsplus_module_3.memoize(NodeStream.toUint8Array(() => this.source, this.onError), fileName_1 + ":52:76")));
|
52
|
+
return this.arrayBufferIO;
|
53
|
+
}
|
54
|
+
get stream() {
|
55
|
+
return NodeStream.fromReadable(() => this.source, this.onError);
|
56
|
+
}
|
57
|
+
}
|
58
|
+
exports.IncomingMessageImpl = IncomingMessageImpl;
|
59
|
+
//# sourceMappingURL=IncomingMessage.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"IncomingMessage.cjs","names":["_IncomingMessage","require","NodeStream","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","IncomingMessageImpl","IncomingMessage","constructor","source","onError","remoteAddressOverride","headers","tsplus_module_1","make","remoteAddress","tsplus_module_2","fromNullable","socket","text","textIO","tsplus_module_5","getOrThrow","tsplus_module_4","unsafeRun","tsplus_module_3","memoize","toString","fileName_1","json","tsplus_module_6","flatMap","tryCatch","JSON","parse","urlParamsBody","tsplus_module_7","URLSearchParams","arrayBuffer","arrayBufferIO","toUint8Array","stream","fromReadable","exports"],"sources":["../../_src/http/IncomingMessage.ts"],"sourcesContent":[null],"mappings":"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"}
|
@@ -0,0 +1,205 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.handleResponse = handleResponse;
|
7
|
+
exports.make = make;
|
8
|
+
exports.makeHandler = makeHandler;
|
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 _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
37
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
38
|
+
const fileName_1 = "(@fncts/node) src/http/Server.ts";
|
39
|
+
function make(evaluate, options) {
|
40
|
+
return tsplus_module_1.flatMap(scope => tsplus_module_1.flatMap(server => tsplus_module_1.flatMap(() => {
|
41
|
+
const address = server.address();
|
42
|
+
return tsplus_module_1.map(wss => tsplus_module_3.make({
|
43
|
+
address: typeof address === "string" ? {
|
44
|
+
_tag: "UnixAddress",
|
45
|
+
path: address
|
46
|
+
} : {
|
47
|
+
_tag: "TcpAddress",
|
48
|
+
hostname: address.address === "::" ? "0.0.0.0" : address.address,
|
49
|
+
port: address.port
|
50
|
+
},
|
51
|
+
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 + ":85:12")(tsplus_module_1.succeed(() => server.on("upgrade", upgradeHandler), fileName_1 + ":85:15")), fileName_1 + ":84:12")(tsplus_module_1.succeed(() => server.on("request", handler), fileName_1 + ":84:15")), fileName_1 + ":76:12")(tsplus_module_2.addFinalizer(() => tsplus_module_1.succeed(() => {
|
52
|
+
server.off("request", handler);
|
53
|
+
server.off("upgrade", upgradeHandler);
|
54
|
+
}, fileName_1 + ":78:17"), fileName_1 + ":77:28")), fileName_1 + ":75:35")(makeUpgradeHandler(wss, httpApp, middleware)), fileName_1 + ":74:35")(makeHandler(httpApp, middleware))
|
55
|
+
}), fileName_1 + ":53:18")(tsplus_module_6.memoize(tsplus_module_5.extend(() => tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(() => new ws.WebSocketServer({
|
56
|
+
noServer: true
|
57
|
+
}), fileName_1 + ":55:29"), wss => tsplus_module_1.async(resume => {
|
58
|
+
wss.close(() => resume(tsplus_module_1.unit));
|
59
|
+
}), fileName_1 + ":55:26"), fileName_1 + ":54:19")(scope), fileName_1 + ":60:8"));
|
60
|
+
}, fileName_1 + ":40:6")(tsplus_module_1.async(resume => {
|
61
|
+
server.on("error", error => {
|
62
|
+
resume(tsplus_module_1.failNow(new _ServerError.ServeError(error), fileName_1 + ":43:28"));
|
63
|
+
});
|
64
|
+
server.listen(options, () => {
|
65
|
+
resume(tsplus_module_1.unit);
|
66
|
+
});
|
67
|
+
})), fileName_1 + ":26:21")(tsplus_module_4.acquireRelease(() => tsplus_module_1.succeed(evaluate, fileName_1 + ":27:27"), server => tsplus_module_1.async(resume => {
|
68
|
+
server.close(error => {
|
69
|
+
if (error) {
|
70
|
+
resume(tsplus_module_1.haltNow(error, fileName_1 + ":31:32"));
|
71
|
+
} else {
|
72
|
+
resume(tsplus_module_1.unit);
|
73
|
+
}
|
74
|
+
});
|
75
|
+
}), fileName_1 + ":27:24")), fileName_1 + ":24:20")(tsplus_module_7.scope);
|
76
|
+
}
|
77
|
+
function makeHandler(httpApp, middleware) {
|
78
|
+
const handledApp = tsplus_module_9.toHandled((request, exit) => {
|
79
|
+
if (tsplus_module_8.isSuccess(exit)) {
|
80
|
+
return tsplus_module_1.catchAllCause(cause => handleCause(request, cause), fileName_1 + ":116:63")(handleResponse(request, exit.value));
|
81
|
+
}
|
82
|
+
return handleCause(request, exit.cause);
|
83
|
+
}, middleware)(httpApp);
|
84
|
+
return tsplus_module_1.map(runFork => {
|
85
|
+
return function handler(nodeRequest, nodeResponse) {
|
86
|
+
const fiber = runFork(tsplus_module_11.provideSomeService(new _ServerRequest.ServerRequestImpl(nodeRequest, nodeResponse), tsplus_module_10.ServerRequestTag, fileName_1 + ":124:38")(handledApp));
|
87
|
+
nodeResponse.on("close", () => {
|
88
|
+
if (!nodeResponse.writableEnded) {
|
89
|
+
if (!nodeResponse.headersSent) {
|
90
|
+
nodeResponse.writeHead(499);
|
91
|
+
}
|
92
|
+
nodeResponse.end();
|
93
|
+
tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(_ServerError.clientAbortFiberId));
|
94
|
+
}
|
95
|
+
});
|
96
|
+
};
|
97
|
+
}, fileName_1 + ":121:49")(tsplus_module_13.makeRuntime());
|
98
|
+
}
|
99
|
+
function makeUpgradeHandler(wss, httpApp, middleware) {
|
100
|
+
const handledApp = tsplus_module_9.toHandled((request, exit) => {
|
101
|
+
if (tsplus_module_8.isSuccess(exit)) {
|
102
|
+
return tsplus_module_1.catchAllCause(cause => handleCause(request, cause), fileName_1 + ":150:63")(handleResponse(request, exit.value));
|
103
|
+
}
|
104
|
+
return handleCause(request, exit.cause);
|
105
|
+
}, middleware)(httpApp);
|
106
|
+
return tsplus_module_1.map(runFork => {
|
107
|
+
return function handler(nodeRequest, socket, head) {
|
108
|
+
let nodeResponse_ = undefined;
|
109
|
+
const nodeResponse = () => {
|
110
|
+
if (nodeResponse_ === undefined) {
|
111
|
+
nodeResponse_ = new Http.ServerResponse(nodeRequest);
|
112
|
+
nodeResponse_.assignSocket(socket);
|
113
|
+
}
|
114
|
+
return nodeResponse_;
|
115
|
+
};
|
116
|
+
const upgradeEffect = tsplus_module_14.fromWebSocket(tsplus_module_1.flatMap(wss => tsplus_module_4.acquireRelease(() => tsplus_module_1.async(resume => {
|
117
|
+
wss.handleUpgrade(nodeRequest, socket, head, ws => {
|
118
|
+
resume(tsplus_module_1.succeedNow(ws, fileName_1 + ":172:37"));
|
119
|
+
});
|
120
|
+
}), ws => tsplus_module_1.succeed(() => ws.close(), fileName_1 + ":175:23"), fileName_1 + ":169:28"), fileName_1 + ":168:20")(wss));
|
121
|
+
const fiber = runFork(tsplus_module_11.provideSomeService(new _ServerRequest.ServerRequestImpl(nodeRequest, nodeResponse, upgradeEffect), tsplus_module_10.ServerRequestTag, fileName_1 + ":181:38")(handledApp));
|
122
|
+
socket.on("close", () => {
|
123
|
+
const res = nodeResponse();
|
124
|
+
if (!socket.writableEnded) {
|
125
|
+
if (!res.headersSent) {
|
126
|
+
res.writeHead(499);
|
127
|
+
}
|
128
|
+
res.end();
|
129
|
+
tsplus_module_12.unsafeRunOrFork(fiber.interruptAsFork(_ServerError.clientAbortFiberId));
|
130
|
+
}
|
131
|
+
});
|
132
|
+
};
|
133
|
+
}, fileName_1 + ":155:49")(tsplus_module_13.makeRuntime());
|
134
|
+
}
|
135
|
+
function handleCause(request, cause) {
|
136
|
+
return tsplus_module_1.succeed(() => {
|
137
|
+
const nodeResponse = request.resolvedResponse;
|
138
|
+
if (!nodeResponse.headersSent) {
|
139
|
+
nodeResponse.writeHead(tsplus_module_15.isInterruptedOnly(cause) ? 503 : 500);
|
140
|
+
}
|
141
|
+
if (!nodeResponse.writableEnded) {
|
142
|
+
nodeResponse.end();
|
143
|
+
}
|
144
|
+
}, fileName_1 + ":202:12");
|
145
|
+
}
|
146
|
+
function handleResponse(request, response) {
|
147
|
+
return tsplus_module_1.defer(() => {
|
148
|
+
const nodeResponse = request.resolvedResponse;
|
149
|
+
if (nodeResponse.writableEnded) {
|
150
|
+
return tsplus_module_1.unit;
|
151
|
+
} else if (request.method === "HEAD") {
|
152
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
153
|
+
nodeResponse.end();
|
154
|
+
return tsplus_module_1.unit;
|
155
|
+
}
|
156
|
+
tsplus_module_16.concrete(response.body);
|
157
|
+
switch (response.body._tag) {
|
158
|
+
case 0 /* BodyTag.Empty */:
|
159
|
+
{
|
160
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
161
|
+
nodeResponse.end();
|
162
|
+
return tsplus_module_1.unit;
|
163
|
+
}
|
164
|
+
case 1 /* BodyTag.Raw */:
|
165
|
+
{
|
166
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
167
|
+
if (typeof response.body.body === "object" && response.body.body !== null && "pipe" in response.body.body && typeof response.body.body.pipe === "function") {
|
168
|
+
return tsplus_module_1.fromPromiseCatch(() => (0, _promises.pipeline)(response.body.body, nodeResponse, {
|
169
|
+
end: true
|
170
|
+
}), error => new _ResponseError.ResponseError(request, response, "Decode", error), fileName_1 + ":238:37");
|
171
|
+
}
|
172
|
+
nodeResponse.end(response.body.body);
|
173
|
+
return tsplus_module_1.unit;
|
174
|
+
}
|
175
|
+
case 2 /* BodyTag.Uint8Array */:
|
176
|
+
{
|
177
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
178
|
+
nodeResponse.end(response.body.body);
|
179
|
+
return tsplus_module_1.unit;
|
180
|
+
}
|
181
|
+
case 3 /* BodyTag.FormData */:
|
182
|
+
{
|
183
|
+
return tsplus_module_1.async(resume => {
|
184
|
+
const r = new Response(response.body.formData);
|
185
|
+
const headers = {
|
186
|
+
...response.headers,
|
187
|
+
...Object.fromEntries(r.headers)
|
188
|
+
};
|
189
|
+
nodeResponse.writeHead(response.status, headers);
|
190
|
+
_nodeStream.Readable.fromWeb(r.body).pipe(nodeResponse).on("error", error => {
|
191
|
+
resume(tsplus_module_1.failNow(new _ResponseError.ResponseError(request, response, "Decode", error), fileName_1 + ":262:32"));
|
192
|
+
}).once("finish", () => {
|
193
|
+
resume(tsplus_module_1.unit);
|
194
|
+
});
|
195
|
+
});
|
196
|
+
}
|
197
|
+
case 4 /* BodyTag.Stream */:
|
198
|
+
{
|
199
|
+
nodeResponse.writeHead(response.status, response.headers.toHeadersInit());
|
200
|
+
return tsplus_module_17.run(NodeStream.fromWritable(() => nodeResponse, error => new _ResponseError.ResponseError(request, response, "Decode", error)), fileName_1 + ":273:15")(tsplus_module_17.mapError(error => new _ResponseError.ResponseError(request, response, "Decode", error), fileName_1 + ":272:20")(response.body.stream));
|
201
|
+
}
|
202
|
+
}
|
203
|
+
}, fileName_1 + ":214:18");
|
204
|
+
}
|
205
|
+
//# sourceMappingURL=Server.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Server.cjs","names":["_ResponseError","require","_ServerError","_ServerRequest","NodeStream","_interopRequireWildcard","Http","_nodeStream","_promises","ws","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","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","makeHandler","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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"}
|
@@ -0,0 +1,43 @@
|
|
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 _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
12
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
13
|
+
var _a;
|
14
|
+
const fileName_1 = "(@fncts/node) src/http/ServerRequest.ts";
|
15
|
+
class ServerRequestImpl extends _IncomingMessage.IncomingMessageImpl {
|
16
|
+
constructor(source, response, upgradeEffect, url = source.url, headersOverride, remoteAddressOverride) {
|
17
|
+
super(source, error => new _RequestError.RequestError(this, "Decode", error), remoteAddressOverride);
|
18
|
+
this.source = source;
|
19
|
+
this.response = response;
|
20
|
+
this.upgradeEffect = upgradeEffect;
|
21
|
+
this.url = url;
|
22
|
+
this.headersOverride = headersOverride;
|
23
|
+
this[_a] = _ServerRequest.ServerRequestTypeId;
|
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 ?? tsplus_module_1.failNow(new _RequestError.RequestError(this, "Decode", "Not an upgradeable ServerRequest"), fileName_1 + ":52:44");
|
39
|
+
}
|
40
|
+
}
|
41
|
+
exports.ServerRequestImpl = ServerRequestImpl;
|
42
|
+
_a = _ServerRequest.ServerRequestTypeId;
|
43
|
+
//# sourceMappingURL=ServerRequest.cjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"ServerRequest.cjs","names":["_RequestError","require","_ServerRequest","_IncomingMessage","_getRequireWildcardCache","e","WeakMap","r","t","_interopRequireWildcard","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ServerRequestImpl","IncomingMessageImpl","constructor","source","response","upgradeEffect","url","headersOverride","remoteAddressOverride","error","RequestError","_a","ServerRequestTypeId","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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"}
|