Node.js expressa o uso correto do middleware bodyParser

Eu sou novo em node.js e express e tenho experimentado com eles por um tempo. Agora estou confuso com o design do framework expresso relacionado à análise do corpo da solicitação. Do guia oficial do expresso:

app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(logErrors);
app.use(clientErrorHandler);
app.use(errorHandler);

Depois de configurar todo o middleware, adicionamos a rota que queremos manipular:

app.post('/test', function(req, res){ 
  //do something with req.body      
});

O problema com essa abordagem é que todo o corpo da solicitação será analisado antes de a validade da rota ser verificada. Parece muito ineficiente analisar o corpo de solicitações inválidas. E ainda mais, se habilitarmos o processamento de upload:

app.use(express.bodyParser({uploadDir: '/temp_dir'}));

Qualquer cliente pode bombardear o servidor enviando todos os arquivos (enviando solicitação para QUALQUER rota / caminho !!), todos os quais serão processados ​​e mantidos no '/ temp_dir'. Eu não posso acreditar que este método padrão está sendo amplamente promovido!

Podemos, claro, usar a função bodyParser ao definir a rota:

app.post('/test1', bodyParser, routeHandler1);
app.post('/test2', bodyParser, routeHandler2);

ou até mesmo analisar o corpo em cada função que manipula a rota. No entanto, isso é tedioso para fazer.

Existe alguma maneira melhor de usar express.bodyParser para todas as rotas válidas (definidas) apenas, e usar o recurso de manipulação de upload de arquivos somente em rotas selecionadas, sem ter muitas repetições de código?

questionAnswers(1)

yourAnswerToTheQuestion