UNPKG

sgapps-server

Version:
50 lines (46 loc) 1.13 kB
const ePrototype = require("application-prototype/constructors/extensions/prototype"); /** * @private * @method RequestUrlDecorator * @param {SGAppsServerRequest} request * @param {SGAppsServerResponse} response * @param {SGAppsServer} server * @param {function} callback */ module.exports = function RequestUrlDecorator(request, response, server, callback) { if (request === null || response === null) { callback(); return; } /** * @typedef {string} MountUpdatedURL */ /** * @memberof SGAppsServerRequest# * @method getMountUpdatedUrl * @param {string} url * @returns {MountUpdatedURL} */ request.getMountUpdatedUrl = function (url) { if (request.mountPath !== "/") { if (request.mountPath[0] === "^") { return '/'+url.substring( ( ( url.match( new RegExp(request.mountPath) ) || [] )[0] || "" ).length ).replace(/^\/+/, ''); } else { return '/'+url.substring(request.mountPath.length).replace(/^\/+/, ''); } } return url; }; // response._destroy.push(() => { // delete request.getMountUpdatedUrl; // }); callback(); };