Могу ли я смонтировать другой обработчик маршрута через __meteor_bootstrap__.app?

Я создаю свое первое метеорное приложение и должен иметь возможность создать новый обработчик маршрута для обработки обратного вызова oauth. Я просмотрел server.js и обнаружил, что контекст connect.app доступен вmeteor_bootstrap, Хотя это, похоже, не работает:

<code>if (Meteor.is_server) {
  Meteor.startup(function () {
    var app = __meteor_bootstrap__.app;
    app.use('/callback',function (req,res) {
      res.writeHead(404);
      res.end();
      return;
    });
  });
}
</code>

Мысли?

Ответы на вопрос(3)

Решение Вопроса

что ваше промежуточное программное обеспечение размещается в нижней части стека. Поэтому универсальный обработчик метеора всегда запускается до вашего обработчика "/ callback".

Один очень хакерский способ обойти это (до тех пор, пока метеор не выпустит свою надлежащую поддержку маршрутизации) - это соединить ваш обработчик с вершиной стека:

__meteor_bootstrap__.app.stack.splice (0, 0, {
    route: '/hello',
    handle: function (req,res, next) {
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end("hello world");
        return;
    }.future ()
});
 12 июн. 2012 г., 22:04
Спасибо, работает как шарм.
 26 июн. 2013 г., 05:14
+1 за то, что заметил это, а также за изменение кода Метеора. Можете ли вы объяснить, как это помогает?
 20 авг. 2012 г., 09:43
Это не должно быть необходимо после следующего изменения:github.com/meteor/meteor/commit/…

Метеоритный Маршрутизатор умный пакет:

Meteor.Router.add({
  '/callback': 404
})
 28 мая 2013 г., 16:23
На данный момент это лучший ответ.

что маршрутизация на сервере не запускается и не является хакерской. Это известная проблема, и похоже, что маршрутизация - это горячая тема в списке задач.

Ваш ответ на вопрос