godprotocol 2.3.61 → 2.3.63
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/package.json +1 -1
- package/server/version_control.js +37 -12
package/package.json
CHANGED
|
@@ -11,16 +11,44 @@ const getBody = (req) => {
|
|
|
11
11
|
|
|
12
12
|
req.on("end", () => {
|
|
13
13
|
try {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
if (!data.trim()) {
|
|
15
|
+
return resolve({});
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const contentType = req.headers["content-type"] || "";
|
|
19
|
+
|
|
20
|
+
// JSON
|
|
21
|
+
if (contentType.includes("application/json")) {
|
|
22
|
+
try {
|
|
23
|
+
return resolve(JSON.parse(data));
|
|
24
|
+
} catch {
|
|
25
|
+
return resolve(data);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Form URL Encoded
|
|
30
|
+
if (contentType.includes("application/x-www-form-urlencoded")) {
|
|
31
|
+
return resolve(Object.fromEntries(new URLSearchParams(data)));
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Plain text
|
|
35
|
+
if (contentType.includes("text/plain")) {
|
|
36
|
+
return resolve(data);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Unknown type:
|
|
40
|
+
// attempt JSON, otherwise return raw body
|
|
41
|
+
try {
|
|
42
|
+
return resolve(JSON.parse(data));
|
|
43
|
+
} catch {
|
|
44
|
+
return resolve(data);
|
|
45
|
+
}
|
|
16
46
|
} catch (err) {
|
|
17
|
-
reject(
|
|
47
|
+
reject(err);
|
|
18
48
|
}
|
|
19
49
|
});
|
|
20
50
|
|
|
21
|
-
req.on("error",
|
|
22
|
-
reject(err);
|
|
23
|
-
});
|
|
51
|
+
req.on("error", reject);
|
|
24
52
|
});
|
|
25
53
|
};
|
|
26
54
|
|
|
@@ -249,7 +277,6 @@ const version_middleware = async (req, res, routers) => {
|
|
|
249
277
|
const parsed_url = new URL(req.url, `http://${req.headers.host}`);
|
|
250
278
|
const pathname = parsed_url.pathname;
|
|
251
279
|
|
|
252
|
-
// ⬇️ query params captured for every method now
|
|
253
280
|
query = Object.fromEntries(parsed_url.searchParams.entries()); // was: const query =
|
|
254
281
|
req.query = query;
|
|
255
282
|
|
|
@@ -279,7 +306,7 @@ const version_middleware = async (req, res, routers) => {
|
|
|
279
306
|
req.headers["x-platform"],
|
|
280
307
|
);
|
|
281
308
|
|
|
282
|
-
versionRouter = await routers.get_version(version);
|
|
309
|
+
versionRouter = await routers.get_version(version);
|
|
283
310
|
|
|
284
311
|
if (!versionRouter) {
|
|
285
312
|
version = "*";
|
|
@@ -301,7 +328,6 @@ const version_middleware = async (req, res, routers) => {
|
|
|
301
328
|
version = versionRouter.version;
|
|
302
329
|
|
|
303
330
|
if (req.method === "GET") {
|
|
304
|
-
// GET keeps existing behavior: query params double as body
|
|
305
331
|
body = query;
|
|
306
332
|
} else {
|
|
307
333
|
const contentType = req.headers["content-type"] || "";
|
|
@@ -319,7 +345,7 @@ const version_middleware = async (req, res, routers) => {
|
|
|
319
345
|
return versionRouter.routes(req, res);
|
|
320
346
|
}
|
|
321
347
|
|
|
322
|
-
router = routers;
|
|
348
|
+
router = routers;
|
|
323
349
|
|
|
324
350
|
// remove query string from route
|
|
325
351
|
let routePath = pathname;
|
|
@@ -377,7 +403,6 @@ const version_middleware = async (req, res, routers) => {
|
|
|
377
403
|
|
|
378
404
|
error_stage = "Handler";
|
|
379
405
|
payload = {
|
|
380
|
-
// was: let payload =
|
|
381
406
|
body,
|
|
382
407
|
query,
|
|
383
408
|
route: name,
|
|
@@ -391,7 +416,7 @@ const version_middleware = async (req, res, routers) => {
|
|
|
391
416
|
params: {},
|
|
392
417
|
memory: router.gp.memory,
|
|
393
418
|
};
|
|
394
|
-
result = await router.execute(name, payload, version);
|
|
419
|
+
result = await router.execute(name, payload, version);
|
|
395
420
|
|
|
396
421
|
// WEBHOOK AFTER
|
|
397
422
|
if (!isWebhook && version !== "*") {
|