Предполагая, что у меня есть промежуточное ПО, например:
var express = require('express');
var app = express();
app.use(function (req, res, next) {
var host = "example.com";
if (req.host !== host) {
res.redirect(301, host + req.originalUrl);
res.end();
}
});
Какие правила мне нужно соблюдать здесь?
- Должен ли я звонить
res.end()
? (или делаетres.redirect()
сделать это для меня?) - Должен ли я звонить
next()
? (или соединение обнаруживает, что запрос закончился и завершился чисто?) - Предполагая, что я должен называть
next()
, я предполагаю, что это означает, что я могу потенциально получать запросы к моему промежуточному программному обеспечению, которое, возможно, уже было завершено другим промежуточным программным обеспечением выше в цепочке; как я могу защитить себя от этого?