minimalistic-server 0.0.51 → 0.0.52
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/index.mjs +19 -6
- package/package.json +1 -1
package/index.mjs
CHANGED
|
@@ -9,6 +9,19 @@ const keepAliveTimeout = 20000;
|
|
|
9
9
|
|
|
10
10
|
let currentFsPromiseModule = fs;
|
|
11
11
|
|
|
12
|
+
function setObjectProperty(object, name, value, enumerable = true, writable = true, configurable = true) {
|
|
13
|
+
Object.defineProperty(
|
|
14
|
+
object,
|
|
15
|
+
name,
|
|
16
|
+
{
|
|
17
|
+
value,
|
|
18
|
+
enumerable,
|
|
19
|
+
writable,
|
|
20
|
+
configurable,
|
|
21
|
+
},
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
|
|
12
25
|
function safePrint(data, isError = false) {
|
|
13
26
|
try {
|
|
14
27
|
if (isError) {
|
|
@@ -814,13 +827,13 @@ export class Request {
|
|
|
814
827
|
this.#method = request.method.toUpperCase();
|
|
815
828
|
|
|
816
829
|
for (const k in request.headers) {
|
|
817
|
-
|
|
830
|
+
setObjectProperty(this.#headers, k.toLowerCase(), request.headers[k]);
|
|
818
831
|
}
|
|
819
832
|
|
|
820
833
|
this.#path = url.pathname.split('/').filter(x => x).join('/');
|
|
821
834
|
|
|
822
835
|
url.searchParams.forEach((v, k) => {
|
|
823
|
-
|
|
836
|
+
setObjectProperty(this.#queryParams, k, v);
|
|
824
837
|
});
|
|
825
838
|
}
|
|
826
839
|
|
|
@@ -998,7 +1011,7 @@ export class Request {
|
|
|
998
1011
|
parent[index] = nextParent;
|
|
999
1012
|
}
|
|
1000
1013
|
} else if (!(parent instanceof Array) && !curFragment.match(/^-?\d+$/gm)) {
|
|
1001
|
-
|
|
1014
|
+
setObjectProperty(parent, curFragment, nextFragment);
|
|
1002
1015
|
} else {
|
|
1003
1016
|
break;
|
|
1004
1017
|
}
|
|
@@ -1100,7 +1113,7 @@ export class Request {
|
|
|
1100
1113
|
}
|
|
1101
1114
|
|
|
1102
1115
|
if (name in data && !Array.isArray(data[name])) {
|
|
1103
|
-
|
|
1116
|
+
setObjectProperty(data, name, [data[name]]);
|
|
1104
1117
|
}
|
|
1105
1118
|
|
|
1106
1119
|
if (Array.isArray(data[name])) {
|
|
@@ -1109,7 +1122,7 @@ export class Request {
|
|
|
1109
1122
|
}
|
|
1110
1123
|
|
|
1111
1124
|
} else {
|
|
1112
|
-
|
|
1125
|
+
setObjectProperty(data, name, value);
|
|
1113
1126
|
}
|
|
1114
1127
|
}
|
|
1115
1128
|
|
|
@@ -2376,7 +2389,7 @@ async function handleRequest(req, routes, staticFileDirectories, handleNotFoundE
|
|
|
2376
2389
|
if (!newRouteHandler) {
|
|
2377
2390
|
for (let k in routeHandler) {
|
|
2378
2391
|
if (k.match(/^{\w+}$/gm)) {
|
|
2379
|
-
|
|
2392
|
+
setObjectProperty(pathParams, k.replace(/[{}]/gm, ''), decodeURIComponent(fragment));
|
|
2380
2393
|
newRouteHandler = routeHandler[k];
|
|
2381
2394
|
break;
|
|
2382
2395
|
}
|