Fix concurrent next middleware request handlers and recurse next request handlers #293
This PR fixes concurrently calling the next middleware request handler multiple times. Admittedly, while allowed, this is a rather uncommon situation.
Also, while I'm at it, this PR also avoids wrapping the return value from the request handler in another promise. The request handler will either return a promise or a value that can be consumed directly. When running example 99 with included benchmarking instructions, this simple change improves performance from ~2500 req/s to ~2600 req/s on my local machine. Also, running the (very synthetic)
Promise cancellation for pending middleware handlers was previously untested, but I did not encounter any issues here. I've added related tests to achieve 100% test coverage for this class.
Builds on top of #292
The text was updated successfully, but these errors were encountered: