Combine several middlewares into one (order-preserving).
middlewares to compose
a middleware that calls before/after/onError in sequence
If a previous middleware sets request.response during before, the sequence will stop early so the base handler is skipped (e.g. HEAD).
request.response
before
Combine several middlewares into one (order-preserving).