[8.x] Add ThrottleRequestsWithRedis to $middlewarePriority #39316
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.
Laravel has a property where we can configure middleware ordering. By default, it sets up a priority for the ThrottleRequests middleware but that variable doesn't set up any default priority for the sibling ThrottleRequestsWithRedis middleware.
What means when somebody is switching to use Redis for throttling, it kind of deletes the ordering of the
throttle
middleware as there's no default priority set up for the ThrottleRequestsWithRedis middleware.This PR adds that middleware to the default middleware priority property to make sure the "throttle" middleware does not go away after switching throttling to Redis.
As an alternative solution, we can create an interface for these two middleware as Laravel can order by interface as well.
Also, pretty sure there's some projects that have defaulted $middlewarePriority and switched to ThrottleRequestsWithRedis but have not noticed/reflected this switch in their default $middlewarePriority.
And if this PR gets merged, should we also update this documentation block? https://laravel.com/docs/8.x/middleware#sorting-middleware