0
我的Express/Node.js應用程序中有一箇中間件來保護特定的路線。快遞中間件意味着請求超時
的事情是,當我使用這個中間件,我得到一個請求超時如果credentals檢查是錯誤的
這裏是代碼我目前使用的:
var express = require('express');
var bodyParser = require('body-parser');
// Set Header because cross-domain call
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "http://docker.local");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Authorization, Content-Type, Accept");
next();
});
function checkAuth(req, res, next){
if(// Credentials right){
next();
} else {
// If code enter in that case, it will generate a Timeout
// even with next(); ...
}
}
// Use checkAuth to protect route
app.get('/server', checkAuth, getMessages);
app.get('/', function(req, res){
res.status(200).send('Slack Server is listening for outgoing webhooks ...');
});
的問題是:爲什麼我得到這個超時?
編輯
如果我使用的瀏覽器進行GET請求,那麼我請求超時。但是,如果我以另一種方式觸發GET請求,那麼我不會超時並且代碼正常工作。有沒有可能讓GET /favicon
搞砸這些東西?
有時候,我只是想衝我的臉...謝謝了很多! – Mornor
**編輯**在正確憑證的情況下工作,但不重定向('res.redirect('/')')。任何原因? – Mornor
用新代碼更新你的問題,但我猜你正在調用下一個*和*重定向,這應該會失敗,並出現'headers alreadybsent'錯誤。 – Paul