@azteam/express 1.2.459 → 1.2.464

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/lib/Server.js CHANGED
@@ -49,14 +49,19 @@ var Server = /*#__PURE__*/function () {
49
49
  function Server(serviceDirs) {
50
50
  var _this = this;
51
51
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
52
- var errorCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
52
+ var errorCallback = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
53
53
  _classCallCheck(this, Server);
54
54
  this.options = _objectSpread(_objectSpread({
55
55
  redis: null,
56
56
  whiteList: null,
57
57
  excludeList: [],
58
58
  debug: process.env.NODE_ENV === 'development',
59
- systemUser: 'toda'
59
+ systemUser: 'toda',
60
+ timeout: 300 * 1000,
61
+ // 5 minutes
62
+ keepAliveTimeout: 300 * 1000,
63
+ // 300 seconds
64
+ headersTimeout: 305 * 1000
60
65
  }, options), {}, {
61
66
  cookieOption: _objectSpread({
62
67
  domain: null,
@@ -349,9 +354,9 @@ var Server = /*#__PURE__*/function () {
349
354
  });
350
355
  });
351
356
  var server = _http["default"].Server(app);
352
- server.setTimeout(300 * 1000);
353
- server.keepAliveTimeout = 30 * 1000;
354
- server.headersTimeout = 35 * 1000;
357
+ server.setTimeout(this.options.timeout);
358
+ server.keepAliveTimeout = this.options.keepAliveTimeout;
359
+ server.headersTimeout = this.options.keepAliveTimeout;
355
360
  server.on('listening', function () {
356
361
  _this4._alert('listening', "Server start at http://localhost:".concat(server.address().port));
357
362
  });
@@ -12,24 +12,25 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try
12
12
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
13
13
  function _default(secret) {
14
14
  var mTimeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 5;
15
+ var isThrowError = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
15
16
  return /*#__PURE__*/function () {
16
17
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(req, res, next) {
17
18
  var url;
18
19
  return _regeneratorRuntime().wrap(function _callee$(_context) {
19
20
  while (1) switch (_context.prev = _context.next) {
20
21
  case 0:
21
- if (!req.query.sign) {
22
- _context.next = 4;
23
- break;
22
+ req.validSign = false;
23
+ if (req.query.sign) {
24
+ url = "".concat(req.protocol, "://").concat(req.hostname).concat(req.originalUrl);
25
+ req.validSign = (0, _crypto.isValidSign)(url, secret, mTimeout);
24
26
  }
25
- url = "".concat(req.protocol, "://").concat(req.hostname).concat(req.originalUrl);
26
- if (!(0, _crypto.isValidSign)(url, secret, mTimeout)) {
27
+ if (!(isThrowError && !req.validSign)) {
27
28
  _context.next = 4;
28
29
  break;
29
30
  }
30
- return _context.abrupt("return", next());
31
- case 4:
32
31
  throw new _error.ErrorException(_error.SIGNATURE_FAILED);
32
+ case 4:
33
+ return _context.abrupt("return", next());
33
34
  case 5:
34
35
  case "end":
35
36
  return _context.stop();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azteam/express",
3
- "version": "1.2.459",
3
+ "version": "1.2.464",
4
4
  "license": "MIT",
5
5
  "author": "toda <sp.azsolution.net@gmail.com>",
6
6
  "main": "./lib/index.js",
package/src/Server.js CHANGED
@@ -24,13 +24,16 @@ const RES_TYPE = {
24
24
  };
25
25
 
26
26
  class Server {
27
- constructor(serviceDirs, options = {}, errorCallback = null) {
27
+ constructor(serviceDirs, options = {}, errorCallback = () => {}) {
28
28
  this.options = {
29
29
  redis: null,
30
30
  whiteList: null,
31
31
  excludeList: [],
32
32
  debug: process.env.NODE_ENV === 'development',
33
33
  systemUser: 'toda',
34
+ timeout: 300 * 1000, // 5 minutes
35
+ keepAliveTimeout: 300 * 1000, // 300 seconds
36
+ headersTimeout: 305 * 1000, // 305 seconds
34
37
  ...options,
35
38
  cookieOption: {
36
39
  domain: null,
@@ -325,9 +328,9 @@ class Server {
325
328
  });
326
329
 
327
330
  const server = http.Server(app);
328
- server.setTimeout(300 * 1000);
329
- server.keepAliveTimeout = 30 * 1000;
330
- server.headersTimeout = 35 * 1000;
331
+ server.setTimeout(this.options.timeout);
332
+ server.keepAliveTimeout = this.options.keepAliveTimeout;
333
+ server.headersTimeout = this.options.keepAliveTimeout;
331
334
 
332
335
  server.on('listening', () => {
333
336
  this._alert('listening', `Server start at http://localhost:${server.address().port}`);
@@ -1,14 +1,16 @@
1
1
  import {isValidSign} from '@azteam/crypto';
2
2
  import {ErrorException, SIGNATURE_FAILED} from '@azteam/error';
3
3
 
4
- export default function (secret, mTimeout = 5) {
4
+ export default function (secret, mTimeout = 5, isThrowError = true) {
5
5
  return async function (req, res, next) {
6
+ req.validSign = false;
6
7
  if (req.query.sign) {
7
8
  const url = `${req.protocol}://${req.hostname}${req.originalUrl}`;
8
- if (isValidSign(url, secret, mTimeout)) {
9
- return next();
10
- }
9
+ req.validSign = isValidSign(url, secret, mTimeout);
11
10
  }
12
- throw new ErrorException(SIGNATURE_FAILED);
11
+ if (isThrowError && !req.validSign) {
12
+ throw new ErrorException(SIGNATURE_FAILED);
13
+ }
14
+ return next();
13
15
  };
14
16
  }