Use attributes instead of query string in PathProcessorFiles and stop replacing query string in RouteProvider::getRouteCollectionForRequest()

Created on 28 May 2024, about 1 month ago
Updated 29 May 2024, about 1 month ago

Problem/Motivation

Follow-up from πŸ› RouteProvider::getRouteCollectionForRequest() can poison query string of next request RTBC .

PathProcessorFiles takes the filename out of the URL and puts it into a $request->query (so that the path looked up for routing is system/files instead of the whole path, but this means the caching in RouteProvider::getRouteCollectionForRequest() has to store and restore the query parameters, which in turn led to caching bugs.

Instead of this, we could store the filename in $request->attributes so it doesn't override information from the request, and in RouteProvider::getRouteCollectionForRequest() trigger a deprecation if the query string changes after incoming path processing has run.

Steps to reproduce

Proposed resolution

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

πŸ“Œ Task
Status

Active

Version

11.0 πŸ”₯

Component
BaseΒ  β†’

Last updated 1 minute ago

Created by

πŸ‡¬πŸ‡§United Kingdom catch

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.69.0 2024