我的next(err)
不工作。它忽略错误,只是加载页面,而不是发送HTTP状态码404。
ldap搜索工作正常,结果与预期一致。它只是在else语句被命中时不返回错误。控制台在日志中显示failed
app.use(function(req, res, next){
conn.search('dc=foo', opts, function (err, res) {
assert.ifError(err)
var entries = []
res.on('searchEntry', function (entry) {
entries.push(entry.object)
})
res.on('end', function (result) {
conn.unbind(function (err) {
console.log('Disconnecting')
if (entries.length == 1) {
next()
} else {
console.log('fail')
var err = new Error('Permission Denied')
err.status = 404
next(err)
}
})
})
})
})
1条答案
按热度按时间cigdeys31#
我不认为
next
是这样工作的。如果您不希望调用下一个中间件,那么根本不要调用next(error)
或next()
。请改用: