2015-12-31 2 views
1

Я хочу добавить некоторые методы в прототип объекта req, поэтому я могу использовать эти методы в каждом контроллере позже.Sails.js - продлить req prototype

Я попытался сделать это в config/bootstrap.js как:

require('http').ClientRequest.prototype.permit = function(){ 
    console.log(this.params.all()); 
}; 

Но я не имею доступа к этому методу в req объект любого действия контроллера. Каков способ расширения request или response объектов Паруса?

ответ

0

Отказ от ответственности: Я новичок в парусах, но я смог добиться того, что, как я думаю, вы хотели бы сделать со следующим.

Одним из возможных путей было бы добавить в файл формата в hook:

api -> hooks -> request -> index.js

Где index.js выглядит следующим образом:

module.exports = function request(sails) { 

    function permit() { 
    console.log(this.headers); 
    } 

    return { 
    initialize: function(cb){ 

     sails.on('router:route', function(requestState) { 
     requestState.req['permit'] = permit; 
     }); 

     return cb(); 
    } 
    } 

}; 

Для получения более подробной информации о парусов крючками:

Крюки для проекта: http://sailsjs.org/documentation/concepts/extending-sails/hooks/project-hooks Спецификация: http://sailsjs.org/documentation/concepts/extending-sails/hooks/hook-specification