Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🌵 hybrid routing with tree and fast router:
for performance reasons, a new layer has been added to reduce the number of routes to be checked
NEW:
OLD:
🐞 Benchmark_Router_Handler_Unescape
-> there was a bug in benchmark, which caused the slow "methodNotAllowed" logic to be addressed
🚀 improve routing behavior:
#707
routing behaviour has been rewritten, simplified and made more readable, additionally the greedy logic has been improved.
-> the greedy logic is a bit slower, but more correct, should be bearable
Now something like this is possible 🔥
🗽The logic for parsing the route now better recognizes the parts which are not parameters, so the parameter can be placed anywhere, it is only important that the normal non-optional parameters are terminated by a delimiter character:
"/test::param/"
➕ Added support for the plus parameter, this is greedy like the wildcard parameter with the difference that it is required:
🌟 ✨ Support for multiple wildcard and plus parameters has been added, they can now be accessed via wild or plus position in the route or normally for the first as in the current fiber version:
🚨 And some more testcases for the route parser....
❗ attention 3 routing cases are still open, these should be negligible, because they are not used in the real world, but they are necessary to reproduce the express behaviour