加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

我可以通过__meteor_bootstrap__.app挂载另一个路由处理程序吗?

发布时间:2020-12-18 00:17:52 所属栏目:安全 来源:网络整理
导读:我正在构建我的第一个流星应用程序,并且需要能够创建一个新的路由处理程序来处理oauth回调.我查看了server.js,发现connect.app上下文在meteor_bootstrap下可用.虽然这似乎不起作用: if (Meteor.is_server) { Meteor.startup(function () { var app = __mete
我正在构建我的第一个流星应用程序,并且需要能够创建一个新的路由处理程序来处理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;
    });
  });
}

思考?

解决方法

此解决方案的问题是您的中间件放在堆栈的底部.因此,catch-all流星处理程序将始终在“/ callback”处理程序之前运行.

解决这个问题的一个非常黑客的方法(直到流星发布它们正确的路由支持)是将你的处理程序拼接在堆栈的顶部:

__meteor_bootstrap__.app.stack.splice (0,{
    route: '/hello',handle: function (req,res,next) {
        res.writeHead(200,{'Content-Type': 'text/plain'});
        res.end("hello world");
        return;
    }.future ()
});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读