Koa.js - Redireciona

O redirecionamento é muito importante ao criar sites. Se um URL malformado for solicitado ou houver alguns erros em seu servidor, você deve redirecioná-los para as respectivas páginas de erro. Os redirecionamentos também podem ser usados ​​para manter as pessoas fora das áreas restritas do seu site.

Vamos criar uma página de erro e redirecionar para essa página sempre que alguém solicitar um URL malformado.

var koa = require('koa');
var router = require('koa-router');
var app = koa();
var _ = router();

_.get('/not_found', printErrorMessage);
_.get('/hello', printHelloMessage);

app.use(_.routes());
app.use(handle404Errors);

function *printErrorMessage() {
   this.status = 404;
   this.body = "Sorry we do not have this resource.";
}
function *printHelloMessage() {
   this.status = 200;
   this.body = "Hey there!";
}
function *handle404Errors(next) {
   if (404 != this.status) return;
   this.redirect('/not_found');
}
app.listen(3000);

Quando executamos este código e navegamos para qualquer rota diferente de / hello, seremos redirecionados para / not_found. Colocamos o middleware no final (chamada de função app.use para este middleware). Isso garante que chegaremos finalmente ao middleware e enviaremos a resposta correspondente. A seguir estão os resultados que vemos quando executamos o código acima.

Quando navegamos para https://localhost:3000/hello, nós temos -

Se navegarmos para qualquer outra rota, obtemos -