title: What is the precise order of execution between middleware, guards, interceptors, pipes, filters, etc?
body: <p>NestJS includes a lot of tools that seem to function as specialized versions of middleware like guards, interceptors, and filters.</p>
  <p>What is the order of execution between all of these?</p>
  <p>My understanding is that the order of execution goes like this:</p>
  <p>Middleware -&gt; Guards -&gt; Interceptors -&gt; Pipes -&gt; Controllers -&gt; Interceptors -&gt; <code>res.on('finish')</code> handlers set up in middleware</p>