symfony/symfony — pull request #3638 by vicb (2012-03-19 15:13:52+00:00)
Title: [RFC] Fix issues with url decoding

Related: #2324, #2963, #2962, #2579

This PR fixes two issues:

* `+` in paths were turned to " " by `urldecode()`
* `urldecode()` was called a few times (and a different number of times according to which part of the path was handled, see #2962 for details).

Notes:

* @arnaud-lb, the first commit is based on your #2962 so I put your name fot the commit,
* `Request::getPathInfo()` returns the decoded path in order to minimize BC (see [this comment](https://github.com/symfony/symfony/pull/2963#issuecomment-3274617) from @Seldaek) - however the decoding is now done with `rawurldecode()` instead of `urldecode()` in order to avoid loosing `+` chars,
* As the path is already decoded in `Request::getPathInfo()` it is no more decoded by the matchers (see `UrlMatcher` and `PhpMatcherDumper`). This could be considered as a BC or as a fixed (`UrlMatcher` was not consistent with `PhpUrlMatcher` and the path was decoded multiple times).

Any thoughts ?