UNPKG

@ima/core

Version:

IMA.js framework for isomorphic javascript application

71 lines (70 loc) 1.98 kB
/* @if client ** export class ServerRouter {}; /* @else */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "ServerRouter", { enumerable: true, get: function() { return ServerRouter; } }); const _AbstractRouter = require("./AbstractRouter"); const _Request = require("./Request"); const _Response = require("./Response"); const _RouteFactory = require("./RouteFactory"); const _Dispatcher = require("../event/Dispatcher"); const _PageManager = require("../page/manager/PageManager"); class ServerRouter extends _AbstractRouter.AbstractRouter { #request; #response; static get $dependencies() { return [ _PageManager.PageManager, _RouteFactory.RouteFactory, _Dispatcher.Dispatcher, _Request.Request, _Response.Response, '?$Settings.$Router.middlewareTimeout' ]; } /** * Initializes the router. * * @param pageManager The current page manager. * @param factory The router factory used to create routes. * @param dispatcher Dispatcher fires events to app. * @param request The current HTTP request. * @param response The current HTTP response. * @param settings $Router settings. */ constructor(pageManager, factory, dispatcher, request, response, settings){ super(pageManager, factory, dispatcher, settings); this.#request = request; this.#response = response; } /** * @inheritDoc */ getPath() { return this._extractRoutePath(this.#request.getPath()); } /** * @inheritDoc */ listen() { return this; } /** * @inheritDoc */ unlisten() { return this; } /** * @inheritDoc */ redirect(url = '/', options) { this.#response.redirect(url, { httpStatus: 302, ...options }); } } // @endif //# sourceMappingURL=ServerRouter.js.map