Koa.js - przekierowania

Przekierowanie jest bardzo ważne przy tworzeniu stron internetowych. Jeśli zażądano zniekształconego adresu URL lub na serwerze są błędy, należy przekierować je do odpowiednich stron błędów. Przekierowania mogą być również używane do utrzymywania ludzi z dala od zastrzeżonych obszarów witryny.

Utwórzmy stronę błędu i przekierowujmy na tę stronę za każdym razem, gdy ktoś zażąda nieprawidłowego adresu URL.

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);

Kiedy uruchomimy ten kod i przejdziemy do dowolnej trasy innej niż / hello, zostaniemy przekierowani do / not_found. Oprogramowanie pośredniczące umieściliśmy na końcu (wywołanie funkcji app.use do tego oprogramowania pośredniego). Gwarantuje to, że w końcu dotrzemy do oprogramowania pośredniczącego i wyślemy odpowiednią odpowiedź. Poniżej przedstawiono wyniki, które widzimy po uruchomieniu powyższego kodu.

Kiedy nawigujemy do https://localhost:3000/hellootrzymujemy -

Jeśli nawigujemy inną trasą, otrzymujemy -