2012-04-12 7 views
7

मैं अपनी पहली उल्का एप्लिकेशन बनाने रहा हूँ और एक नया मार्ग हैंडलर एक OAuth कॉलबैक को संभालने के लिए बनाने में सक्षम होने की जरूरत है। मैंने server.js को देखा है और पाया है कि connect.app संदर्भ meteor_bootstrap के तहत उपलब्ध है। हालांकि यह काम नहीं कर रहा है:क्या मैं __meteor_bootstrap__.app के माध्यम से एक और मार्ग हैंडलर माउंट कर सकता हूं?

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

विचार?

उत्तर

8

इस समाधान के साथ समस्या यह है कि आपके मिडलवेयर ढेर के नीचे डाल दिया जाता है। इसलिए पकड़-सभी उल्का हैंडलर हमेशा आपके "/ कॉलबैक" से पहले भागेंगे।

__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() 
}); 
+0

धन्यवाद, एक आकर्षण की तरह काम करता है। –

+4

यह निम्न परिवर्तन के बाद आवश्यक नहीं होना चाहिए: https://github.com/meteor/meteor/commit/a2d5bfa6dbbecff94877142a57bb212aa7f2a590 – avital

+0

से +1 देख के लिए है और यह भी उल्का कोड को बदलने के लिए। क्या आप स्पष्टीकरण दे सकते हैं कि यह कैसे मदद करता है? –

2

जवाब में से कुछ मार्ग के लिए नेतृत्व कर रहे हैं किया जा रहा है एक नहीं जाना hacky किया जा रहा बिना अभी सर्वर पर। यह एक ज्ञात मुद्दा है, और रूटिंग जैसी आवाज़ टोडो सूची पर एक गर्म वस्तु है।

6

आप Meteor Router स्मार्ट के साथ इस लक्ष्य को हासिल कर सकते हैं: इस के आसपास पाने के लिए (जब तक उल्का उनके उचित मार्ग समर्थन विज्ञप्ति)

एक बहुत ही hacky तरह से ढेर के शीर्ष att अपने हैंडलर में ब्याह करने के लिए है पैकेज:

Meteor.Router.add({ 
    '/callback': 404 
}) 
+0

यह वर्तमान में सबसे अच्छा जवाब है। – wizonesolutions

संबंधित मुद्दे

 संबंधित मुद्दे