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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "godprotocol",
3
- "version": "2.3.61",
3
+ "version": "2.3.63",
4
4
  "description": "A distributed computing environment for Web 4.0 — integrating AI, decentralisation, and virtual computation.",
5
5
  "main": "Index.js",
6
6
  "type": "module",
@@ -11,16 +11,44 @@ const getBody = (req) => {
11
11
 
12
12
  req.on("end", () => {
13
13
  try {
14
- const parsed = data ? JSON.parse(data) : {};
15
- resolve(parsed);
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(new Error("Invalid JSON body"));
47
+ reject(err);
18
48
  }
19
49
  });
20
50
 
21
- req.on("error", (err) => {
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); // was: let versionRouter =
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; // was: const router =
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); // was: const result =
419
+ result = await router.execute(name, payload, version);
395
420
 
396
421
  // WEBHOOK AFTER
397
422
  if (!isWebhook && version !== "*") {