Pablo Barrera Yaksic 1 år sedan
förälder
incheckning
0d6ac1f394
2 ändrade filer med 19 tillägg och 1 borttagningar
  1. 18 0
      lib/index.js
  2. 1 1
      package.json

+ 18 - 0
lib/index.js

@@ -50,6 +50,24 @@ class PRAS {
                     res.json(this.getPRASResultObject(statusCode, status, message, data, code, extra));
                 },
             };
+            if (/application\/json/.test(res.get("Content-Type"))) {
+                const originalSend = res.send;
+                res.send = (body) => {
+                    if (typeof body === "string") {
+                        body = JSON.parse(body);
+                    }
+                    if (typeof body === "string") {
+                        body = { data: body };
+                    }
+                    else if (!body.hasOwnProperty("data")) {
+                        body = { data: body };
+                    }
+                    const prasBody = this.getPRASResultObject(body.statusCode, body.status, body.message, body.data, body.code, body.extra);
+                    res.status(Number(prasBody) || null);
+                    delete prasBody.statusCode;
+                    return originalSend(JSON.stringify(prasBody));
+                };
+            }
             next();
         };
     }

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "@pablo/pablo-rest-api-standard",
-  "version": "0.0.4",
+  "version": "0.0.5",
   "description": "Pablo Rest API Standard Library",
   "main": "lib/index.js",
   "scripts": {