2
我在嘗試使用連接會話中間件的restify時遇到錯誤。 會話中間件期望req.originalUrl,但restify不會設置該屬性。 (它只設置req.url) 這會導致會話代碼中的異常。有沒有解決方法?req.originalUrl未由restify設置(連接會話中間件需要它)
感謝, 沙拉斯
我在嘗試使用連接會話中間件的restify時遇到錯誤。 會話中間件期望req.originalUrl,但restify不會設置該屬性。 (它只設置req.url) 這會導致會話代碼中的異常。有沒有解決方法?req.originalUrl未由restify設置(連接會話中間件需要它)
感謝, 沙拉斯
可你只是你自己設置?
app.use(function(req, res, next){
req.originalUrl = req.url;
next();
});
app.use(connect.session({secret:'foo'});
是的,這有效,但是建議修復?因爲使用它會導致其他問題:UncaughtExceptions不會被restify'uncaughtException'處理程序捕獲,並且服務器關閉。這是一個單獨的問題? – sha
嗯,不知道!我沒有使用Restify自己,我不知道它的錯誤處理是如何工作的。我知道在Express中,你可以在中間件鏈的末尾加上'function(err,req,res,next)'來捕獲未處理的異常,但我不確定這是否適用於Connect並且沒有Express。 – Plato
它可能需要另一個問題。無論如何,我接受你的答案,因爲它的工作原理。謝謝! – sha