Sails.js меняет bodyParser для определенных путей

В Sails.js 0.10.5 я хочу заменить bodyParser для определенных путей. Например, используйте другой анализатор тела для пути '/app/upload', а для остальных используйте значение по умолчанию. Как мне это сделать?

1 ответ

Вы можете сделать это, переопределив config/http.js, Добавьте пользовательский анализатор в промежуточное ПО и замените bodyParser в порядке с вашим пользовательским парсером.

Как то так должно работать

module.exports.http = {
    middleware: {
        superBodyParser: function (req, res, next) {
            if (req.path === '/app/upload') {
                // your custom parser
            }
            else {
                require('skipper')(req, res, next);
            }
        },
        order: [
          'startRequestTimer',
          'cookieParser',
          'session',
          'myRequestLogger',
          // 'bodyParser',  <-- not required anymore
          'superBodyParser' 
          'handleBodyParserError',
          'compress',
          'methodOverride',
          'poweredBy',
          '$custom',
          'router',
          'www',
          'favicon',
          '404',
          '500'
        ]
    }
};
Другие вопросы по тегам