Page MenuHomePhabricator

REST: redirects in page endpoints must not lose query parameters
Closed, ResolvedPublic

Description

When a page endpoint triggers a normalization redirect or follows a wiki-page redirect, it must keep any query parameters from the original request intact.

For example, /page/Foo%20Bar/html?flavor=edit should redirect to /page/Foo_Bar/html?flavor=edit, and /page/Foo%20Bar/html?redirect=no should redirect to /page/Foo_Bar/html?redirect=no.

This can be realized by plumbing query parameters through to the calls to getRoutUrl() in PageRedirectHandlerTrait. We can get them directly from $this->getRequest()->getQueryParams(), there is no need to loop them through as parameters.

Event Timeline

daniel triaged this task as High priority.Jan 12 2023, 3:36 PM
daniel moved this task from Infrastructure Pile to PCS Service Pile on the RESTBase Sunsetting board.

Change 883193 had a related patch set uploaded (by MSantos; author: MSantos):

[mediawiki/core@master] rest: forward query parameters to redirects

https://gerrit.wikimedia.org/r/883193

Change 883193 merged by jenkins-bot:

[mediawiki/core@master] rest: forward query parameters to redirects

https://gerrit.wikimedia.org/r/883193