Node.js Express: Execute hook on every HTTP request, before app.get() and app.post()?

express, node.js

Solution

Set up a middleware before your routes:

function myMiddleware (req, res, next) {
   if (req.method === 'GET') { 
     // Do some code
   }

   // keep executing the router middleware
   next()
}

app.use(myMiddleware)

// ... Then you load the routes

Problem

I don't want to put an authentication function at the top of every `app.get()`, how can I execute code on every request, before `app.get()`?

Original source