2014-02-18 39 views
1

我有一个名为“用户”和动作控制器称为“注册”,然后我也被称为政策“的stripslashes”使用下面的代码:如何将策略应用于错误?

module.exports = function(req, res, next) { 
    if(req.url.substr(-1) === '/' && req.url.length > 1){ 
    res.redirect(req.url.slice(0, -1), 301); 
    } 
    else { 
    next(); 
    } 
}; 

我所试图做的是每当http://localhost:{{port}}/user/signup/被访问它将剥离斜线并重定向到:http://localhost:{{port}}/user/signup这是完美的作品!

除此之外,每当我尝试并参观http://localhost:{{port}}/user/signup/////例如它只是抛出一个404甚至不通过任何我在配置设置政策的运行/ policies.js

所以,我的问题是如何我是否将自定义策略应用于一切,包括错误页面(即404s)

感谢高级!


Policies.js供参考:

module.exports.policies = { 

    '*': ['flash', 'stripSlashes', 'wwwRedirect'], 

    user: { 
    edit: ['flash', 'isAuthenticated', 'stripSlashes', 'wwwRedirect'], 
    update: ['flash', 'isAuthenticated', 'stripSlashes', 'wwwRedirect'], 
    show: ['flash', 'isAuthenticated', 'stripSlashes', 'wwwRedirect'], 
    index: ['flash', 'isAuthenticated', 'stripSlashes', 'wwwRedirect'], 
    destroy: ['flash', 'isAuthenticated', 'stripSlashes', 'wwwRedirect'], 
    }, 


} 

回答

1

策略具有用于要应用的策略,以匹配的路线。如果您想将此规则应用于所有api端点,那么您可以为此使用快速自定义中间件。请参阅堆栈溢出答案:Modify response header with sails.js for implementing HSTS

+0

谢谢!通过你的答案,它完美的工作。 –