Stiamo lavorando su un server Hapi node.js che estrae un elenco di percorsi da un database MongoDB e imposta tali percorsi per la manutenzione. Con questo, c'è il rischio che il server fallisca a causa di voci di route duplicate nel database.C'è un modo per visualizzare tutte le rotte in un server Hapi
Ho provato a cercare, ma non sono riuscito a trovare un modo per verificare percorsi duplicati in Hapi.
È possibile ottenere un elenco di percorsi attualmente serviti da un server Hapi?
C'è un controllo degli errori che posso rendere più carino di un blocco try/catch standard quando si tenta di costruire i percorsi provenienti da MongoDB?
Il codice che imposta i percorsi è inferiore; si prega di vedere i miei commenti nel codice per dove ho bisogno di gestire l'errore.
MySchema.find({}, function (err, stubs) {
if (err) {
console.log('error while loading');
return;
}
for (var i = 0; i < stubs.length; i++) {
var bodyMessage = stubs[i].body;
// This is where we can fail, if only I could make a
// check for the route here
server.route({
method: stubs[i].method,
path: stubs[i].path,
handler: function (request, reply) {
reply(bodyMessage);
}
});
}
});
Forse [ 'server.table()'] (http://hapijs.com/api#servertablehost) vi aiutano? Restituisce una copia della tabella di routing. –
Grazie a @RodrigoMedeiros, ci proverò stasera e ti faccio sapere se funziona. Se lo fa, dovresti postarlo come risposta! – J2N
Questo ha fatto il trucco! Posso accedervi tramite server.table() [i] .path, ecc. Ora. @RodrigoMedeiros – J2N