UNPKG

2.26 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.default = void 0;
9
10var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
11
12var _objectSpread2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectSpread"));
13
14var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
15
16var _renderPage2 = _interopRequireDefault(require("./render-page"));
17
18var processRequest =
19/*#__PURE__*/
20function () {
21 var _ref = (0, _asyncToGenerator2.default)(
22 /*#__PURE__*/
23 _regenerator.default.mark(function _callee(ctx, getRenderConfig) {
24 var _ref2,
25 is404,
26 redirectTo,
27 data,
28 _ctx$session,
29 _renderPage,
30 routerContext,
31 html,
32 _args = arguments;
33
34 return _regenerator.default.wrap(function _callee$(_context) {
35 while (1) {
36 switch (_context.prev = _context.next) {
37 case 0:
38 _ref2 = _args.length > 2 && _args[2] !== undefined ? _args[2] : {}, is404 = _ref2.is404, redirectTo = _ref2.redirectTo, data = _ref2.data;
39
40 if (is404) {
41 ctx.status = 404;
42 }
43
44 if (redirectTo) {
45 ctx.redirect(redirectTo);
46 } else {
47 _renderPage = (0, _renderPage2.default)((0, _objectSpread2.default)({}, getRenderConfig({
48 pageData: data,
49 user: (_ctx$session = ctx.session) === null || _ctx$session === void 0 ? void 0 : _ctx$session.user
50 }), {
51 url: ctx.req.url
52 })), routerContext = _renderPage.routerContext, html = _renderPage.html;
53
54 if (routerContext.action === 'REPLACE') {
55 ctx.redirect(routerContext.url);
56 } else {
57 ctx.body = html;
58 }
59 }
60
61 case 3:
62 case "end":
63 return _context.stop();
64 }
65 }
66 }, _callee, this);
67 }));
68
69 return function processRequest(_x, _x2) {
70 return _ref.apply(this, arguments);
71 };
72}();
73
74var _default = processRequest;
75exports.default = _default;
\No newline at end of file