Skip to content

Commit

Permalink
add a option shiftRouterNameFromUrl for dispatcher
Browse files Browse the repository at this point in the history
when this flag is true(default), act as yog2's default action.
when this flag is false, act as express's default action.
  • Loading branch information
ssddi456 committed Apr 27, 2017
1 parent dd1a6ac commit 9d53e97
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions plugins/dispatcher/dispatcher.js
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@ var VERB = {
module.exports = function (options) {
var defaultRouter = options.defaultRouter || 'home';
var defaultAction = options.defaultAction || 'index';
var shiftRouterNameFromUrl = true;
if( options.hasOwnProperty(shiftRouterNameFromUrl) ){
shiftRouterNameFromUrl = !!options.shiftRouterNameFromUrl;
}

var appPath = options.appPath || (path.dirname(require.main.filename) + '/app');
debuglog('set options appPath [%s], defaultRouter [%s], defaultAction [%s]', appPath, defaultRouter, defaultAction);
var routers = {};
Expand Down Expand Up @@ -55,7 +60,7 @@ module.exports = function (options) {
return;
}
debuglog('actually get router [%s]', router.__name__);
if (router.__name__ === routerName && req.params.router) {
if (router.__name__ === routerName && req.params.router && shiftRouterNameFromUrl) {
req.url = shiftUrl(req.url);
debuglog('router is matched, remove router from url [%s]', req.url);
}
Expand Down Expand Up @@ -86,7 +91,7 @@ module.exports = function (options) {
return;
}
debuglog('actually get action [%s]', action.__name__);
if (action.__name__ === actionName && req.params.action) {
if (action.__name__ === actionName && req.params.action && shiftRouterNameFromUrl) {
req.url = shiftUrl(req.url);
debuglog('action is matched, remove action from url [%s]', req.url);
}
Expand Down

0 comments on commit 9d53e97

Please sign in to comment.