UNPKG

koa-quick-service

Version:
141 lines (111 loc) 4.68 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.middlewareCommonMethods = exports.catchErrors = exports.Engines = undefined; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var catchErrors = exports.catchErrors = function () { var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee(ctx, next) { var app; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: app = ctx.app; _context.prev = 1; _context.next = 4; return next(); case 4: _context.next = 14; break; case 6: _context.prev = 6; _context.t0 = _context['catch'](1); if (!(app.listenerCount('error') > 0)) { _context.next = 13; break; } _context.next = 11; return app.emit('error', _context.t0, ctx); case 11: _context.next = 14; break; case 13: ctx.cast(_context.t0); case 14: case 'end': return _context.stop(); } } }, _callee, this, [[1, 6]]); })); return function catchErrors(_x, _x2) { return _ref.apply(this, arguments); }; }(); var middlewareCommonMethods = exports.middlewareCommonMethods = function () { var _ref2 = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee2(ctx, next) { return _regenerator2.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: Object.defineProperty(ctx, 'form', { get: function get() { return this.request.form; } }); ctx.cast = function (data, code) { if (!data) { data = 200; } ctx.set('Expires', 0); ctx.set('Cache-Control', 'no-cache'); ctx.set('Pragma', 'no-cache'); if (data instanceof Error) { code = data.status || data.statusCode || data.code || 500; data = ctx.app.env !== 'production' ? data.stack : data.message; if (isNaN(code)) { code = 500; } } else if (typeof data === 'number') { var err = (0, _httpErrors2.default)(data); code = data; data = err.message; } ctx.status = code || 200; ctx.type = typeof data === 'string' ? 'text/plain' : 'application/json'; ctx.body = data; }; _context2.next = 4; return next(); case 4: case 'end': return _context2.stop(); } } }, _callee2, this); })); return function middlewareCommonMethods(_x3, _x4) { return _ref2.apply(this, arguments); }; }(); exports.set = set; exports.get = get; var _cls = require('./cls.dictionary'); var _cls2 = _interopRequireDefault(_cls); var _httpErrors = require('http-errors'); var _httpErrors2 = _interopRequireDefault(_httpErrors); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Created by evio on 2017/1/31. */ var Engines = exports.Engines = {}; function set(name, value) { return Engines[name] = new _cls2.default(value); } function get(name) { return Engines[name]; }