7

私は最初のmeteorアプリを構築しており、oauthコールバックを処理するための新しいルートハンドラーを作成できる必要があります。server.jsを調べたところ、connect.appコンテキストがmeteor_bootstrapで利用できることがわかりました。これは機能していないようですが:

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

考え?

4

3 に答える 3

8

このソリューションの問題は、ミドルウェアがスタックの一番下に配置されることです。したがって、キャッチオール メテオ ハンドラは常に「/callback」ハンドラの前に実行されます。

これを回避する非常にハックな方法の 1 つは (流星が適切なルーティング サポートをリリースするまで)、スタックの一番上にハンドラー att を追加することです。

__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 ()
});
于 2012-06-05T05:56:01.483 に答える
6

これは、 MeteorRouterスマートパッケージを使用して実現できます。

Meteor.Router.add({
  '/callback': 404
})
于 2012-12-06T00:15:19.050 に答える
2

答えのいくつかは、ルーティングがハックされることなく、現在サーバー上で禁止されていることにつながっています。これは既知の問題であり、ルーティングは todo リストのホットな項目のようです。

于 2012-04-13T23:17:46.393 に答える