UNPKG

thinknode

Version:

A fast, flexible and all-in-one web framework for node.js.

61 lines (44 loc) 1.99 kB
'use strict'; exports.__esModule = true; var _promise = require('babel-runtime/core-js/promise'); var _promise2 = _interopRequireDefault(_promise); var _keys = require('babel-runtime/core-js/object/keys'); var _keys2 = _interopRequireDefault(_keys); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * payload检查中间件 * @author richen * @copyright Copyright (c) 2015 - <richenlin(at)gmail.com> * @license MIT * @version 15/11/19 */ var _class = function (_THINK$Middleware) { (0, _inherits3.default)(_class, _THINK$Middleware); function _class() { (0, _classCallCheck3.default)(this, _class); return (0, _possibleConstructorReturn3.default)(this, _THINK$Middleware.apply(this, arguments)); } _class.prototype.run = function run(data) { var post = this.http._post; var length = (0, _keys2.default)(post).length; //最大表单数超过限制 if (length > THINK.config('post_max_fields')) { return THINK.statusAction(this.http, 400, 'exceed the limit on the form fields'); } for (var name in post) { //单个表单值长度超过限制 if (post[name] && post[name].length > THINK.config('post_max_fields_size')) { return THINK.statusAction(this.http, 400, 'exceed the limit on the form length'); } } return _promise2.default.resolve(data); }; return _class; }(THINK.Middleware); exports.default = _class;