aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/journey/router
Commit message (Collapse)AuthorAgeFilesLines
* Make URL escaping more consistentAndrew White2014-04-201-0/+9
| | | | | | | | | | | | | | | | | | | | | | 1. Escape '%' characters in URLs - only unescaped data should be passed to URL helpers 2. Add an `escape_segment` helper to `Router::Utils` that escapes '/' characters 3. Use `escape_segment` rather than `escape_fragment` in optimized URL generation 4. Use `escape_segment` rather than `escape_path` in URL generation For point 4 there are two exceptions. Firstly, when a route uses wildcard segments (e.g. *foo) then we use `escape_path` as the value may contain '/' characters. This means that wildcard routes can't be optimized. Secondly, if a `:controller` segment is used in the path then this uses `escape_path` as the controller may be namespaced. Fixes #14629, #14636 and #14070.
* Optimize URI escapingAndrew White2014-04-201-17/+42
| | | | | | | | | | | | | The URI::Parser#escape method is a general use method that has to deal with a variety of input however our use of it is limited in scope so we can increase the performance by implementing our specific needs within ActionDispatch::Journey::Router::Utils directly. If there is no encoding required then there is no change in performance or number of objects allocated, but for each character that needs to be encoded we save five object allocations and gain a performance boost. The performance boost seen varies from 20% when there is one character to over 50% when encoding ten characters.
* Always escape string passed to url helper.edogawaconan2014-04-201-1/+1
| | | | | | | | | | Makes it clear that anything passed with the helper must not be percent encoded. Fixes previous behavior which tricks people into believing passing non-percent-encoded will generate a proper percent-encoded path while in reality it doesn't ('%' isn't escaped). The intention is nice but the heuristic is broken.
* Correct error in Utils.normalize_path that changed paths improperlyJosh Symonds2013-10-231-1/+1
|
* [ci skip] Add some comment about downcase url encoded string.kennyj2013-09-221-0/+2
|
* Remove 1.8 compatible codekennyj2013-09-191-1/+1
|
* Fix an issue where router can't recognize downcased url encoding path.kennyj2013-09-191-0/+1
|
* update AD::Journey to follow Rails coding conventionsFrancesco Rodriguez2012-12-201-1/+1
|
* :nodoc: Journey because is not part of the public API [ci skip]Francesco Rodriguez2012-12-192-7/+7
|
* remove code for Ruby 1.8.x supportFrancesco Rodriguez2012-12-191-7/+2
|
* Integrate Journey into Action DispatchAndrew White2012-12-192-0/+83
Move the Journey code underneath the ActionDispatch namespace so that we don't pollute the global namespace with names that may be used for models. Fixes rails/journey#49.