feat: allow middleware from plugins to be run before user middleware #2261
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.
closes #2160
I was originally hoping for a cool way to absolutely order middleware. I wanted to add a
name
to plugin middleware, and then extract the name and use that to constrain an ordering object. But my typescript skills failed me.So this is a more direct approach that solves the issue: just allow plugin middleware to go before user middleware. The idea is to add a new boolean to the config, and then if this is set, perform a secondary sort that looks at whether the middleware is created from a plugin.
Marvin, in #2056 you added a
fixture_plugin_middleware
fixture, but it looks unused! So I've repurposed it here with a new name to test this feature.