@less-is-more/less-js 1.4.27-17 → 1.4.27-3

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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/router.js +19 -24
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@less-is-more/less-js",
3
- "version": "1.4.27-17",
3
+ "version": "1.4.27-3",
4
4
  "description": "Fast develop kit for nodejs",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
package/src/router.js CHANGED
@@ -13,38 +13,35 @@ module.exports = class Router {
13
13
  * @param {object} targets 路由表。支持before和after,如果提供了会在执行主方法前后执行。需要async的方法。并且before返回值为Ret,如果不为true,会直接返回
14
14
  * @param {*} event 事件载体
15
15
  * @param {*} context 系统属性
16
+ * @param {*} callback 回调
16
17
  * @returns 设置了useDefaultFormat为true,会返回错误信息
17
18
  */
18
- static async routeEvent(targets, event, context) {
19
- const eventObj = JSON.parse(event.toString());
19
+ static async routeEvent(targets, event, context, callback) {
20
+ console.log("event:", event);
21
+ const eventObj = JSON.parse(event);
20
22
  const req = {
21
23
  path: eventObj.rawPath,
22
- method: eventObj.requestContext.http.method,
23
- sourceIp: eventObj.requestContext.http.sourceIp,
24
- queries: eventObj.queryParameters,
24
+ queries: Param.isBlank(rawQueryString)
25
+ ? {}
26
+ : qs.parse(eventObj.rawQueryString),
25
27
  headers: eventObj.headers,
26
- body: eventObj.isBase64Encoded
27
- ? Buffer.from(eventObj.body, "base64").toString("utf-8")
28
- : eventObj.body,
28
+ body: eventObj.body,
29
29
  isBase64Encoded: eventObj.isBase64Encoded,
30
30
  };
31
- // 格式兼容
32
- if (req.headers) {
33
- req.headers["content-type"] = req.headers["Content-Type"];
34
- }
35
31
  let res = {
36
- content: "",
37
- send: function (content) {
32
+ send: (content) => {
38
33
  this.content = content;
39
34
  },
35
+ content: "",
40
36
  };
41
37
  // 转换后调用原来的方法
42
- await this.route(targets, req, res, context);
43
- return {
44
- statusCode: 200,
45
- headers: Object.assign(res.headers || {}, event.resHeaders || {}),
46
- body: res.content.startsWith("{") ? JSON.parse(res.content) : res.content,
38
+ const result = this.route(targets, req, res, context);
39
+ const finalResponse = {
40
+ headers: Object.assign(result.headers, event.resHeaders),
41
+ body: res.content,
47
42
  };
43
+
44
+ callback(null, finalResponse);
48
45
  }
49
46
 
50
47
  /**
@@ -64,9 +61,7 @@ module.exports = class Router {
64
61
  "p:",
65
62
  req.method,
66
63
  req.path,
67
- req.headers
68
- ? req.headers["content-type"] || req.headers["Content-Type"]
69
- : "",
64
+ req.headers ? req.headers["content-type"] : "",
70
65
  "q:",
71
66
  req.queries ? qs.stringify(req.queries).substring(0, 500) : "",
72
67
  "b:",
@@ -144,7 +139,7 @@ module.exports = class Router {
144
139
  if (isFile) {
145
140
  await this._getFile(req);
146
141
  } else if (isJson) {
147
- const data = req.body || (await promisify(body)(req));
142
+ const data = await promisify(body)(req);
148
143
  if (!Param.isBlank(data)) {
149
144
  try {
150
145
  req.sourceBody = data.toString();
@@ -154,7 +149,7 @@ module.exports = class Router {
154
149
  }
155
150
  }
156
151
  } else {
157
- const data = req.body || (await promisify(body)(req));
152
+ const data = await promisify(body)(req);
158
153
  req.sourceBody = decodeURIComponent(data.toString());
159
154
  req.body = qs.parse(data.toString());
160
155
  }