UNPKG

@zoranwong/acc-engine.js

Version:

A javascript framework to accelerate your applicatin developement

215 lines (184 loc) 5.92 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _construct2 = _interopRequireDefault(require("@babel/runtime/helpers/construct")); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _Application = _interopRequireDefault(require("../../foundation/Application")); var _Response = _interopRequireDefault(require("./Response")); var _UriParamParseMiddleware = _interopRequireDefault(require("./UriParamParseMiddleware")); var _ValidateMiddleware = _interopRequireDefault(require("./ValidateMiddleware")); var _HttpMethod = _interopRequireDefault(require("./HttpMethod")); var _HttpRequestOption = _interopRequireWildcard(require("./HttpRequestOption")); var _underscore = require("underscore"); var Request = /*#__PURE__*/function () { /**@property Application _app*/ /** * @param HttpRequestOption options * */ function Request() { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; (0, _classCallCheck2["default"])(this, Request); this._headers = {}; this._data = {}; this._uri = ''; this._name = null; this._method = _HttpMethod["default"].GET; this._middleware = [_ValidateMiddleware["default"], _UriParamParseMiddleware["default"]]; this._responseClass = null; this._app = void 0; this._validator = void 0; this._app = _Application["default"].getInstance(); this._validator = this._app.get('validator'); this._name = this.constructor.name; if (arguments.length === 1 && options && (0, _HttpRequestOption.instanceOfHttpRequestOptions)(options)) { for (var key in options) { if (options[key] && typeof this["_".concat(key)] !== 'undefined') { if (key !== 'middleware') this["_".concat(key)] = options[key];else this._middleware.concat((0, _underscore.isArray)(options['middleware']) ? options['middleware'] : [options['middleware']]); } } } } (0, _createClass2["default"])(Request, [{ key: "getHeaders", value: function () { var _getHeaders = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() { return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: return _context.abrupt("return", this._headers); case 1: case "end": return _context.stop(); } } }, _callee, this); })); function getHeaders() { return _getHeaders.apply(this, arguments); } return getHeaders; }() }, { key: "rules", value: function rules() { return {}; } }, { key: "messages", value: function messages() { return {}; } }, { key: "passed", value: function passed() { return this._validator.validate(this); } }, { key: "errors", value: function errors() { return this._validator.errors; } }, { key: "setHeader", value: function setHeader(name, value) { this._headers[name] = value; return this; } }, { key: "getHeader", value: function getHeader(name) { return this._headers[name]; } }, { key: "method", get: function get() { return this._method.toUpperCase(); } }, { key: "responseClass", get: function get() { return this._responseClass; } }, { key: "headers", get: function get() { return this._headers; } }, { key: "data", get: function get() { return this._data; } }, { key: "uri", get: function get() { return this._uri; } }, { key: "middleware", get: function get() { return this._middleware; } }, { key: "name", get: function get() { return this._name; } /** * @return {Application} * */ }, { key: "app", get: function get() { return this._app; } }, { key: "httpClient", get: function get() { return this.app.http; } }], [{ key: "send", value: function () { var _send = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() { var _len, params, _key, request, _args2 = arguments; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: for (_len = _args2.length, params = new Array(_len), _key = 0; _key < _len; _key++) { params[_key] = _args2[_key]; } request = (0, _construct2["default"])(this, params); // console.log(request, '==========', params); _context2.next = 4; return request.httpClient.send(request, request._responseClass); case 4: return _context2.abrupt("return", _context2.sent); case 5: case "end": return _context2.stop(); } } }, _callee2, this); })); function send() { return _send.apply(this, arguments); } return send; }() }]); return Request; }(); exports["default"] = Request;