タイムアウト エラーが発生したときにユーザーに送信される応答をカスタマイズしたいと考えています。具体的には、タイムアウト エラーが発生した理由を説明する静的ページにリダイレクトしたいと考えています。
私は次のようなものを書きたい:
var express = require('express')
var timeout = require('connect-timeout')
var app = express();
var port = process.env.PORT || 8080;
app.use(timeout(10,{"respond":true}));
app.use(haltOnTimedout);
// GET ROUTES HERE
app.listen(port, function() {
console.log('Our app is running on port '+ port);
});
function haltOnTimedout(req,res,next) {
if (req.timedout) {
res.redirect('/timedout.html');
} else {
next();
}
};
上記のコードは意図したとおりに機能しません。タイムアウトが発生しても、ユーザーを静的 Web ページにリダイレクトせずtimedout.html
、代わりにエラーをスローします。ServiceUnavailableError: Response timeout
このようなことは可能ですか、それとも何か不足していますか?