diff options
author | Seb Bacon <seb.bacon@gmail.com> | 2011-12-21 14:13:22 +0000 |
---|---|---|
committer | Seb Bacon <seb.bacon@gmail.com> | 2011-12-21 14:13:22 +0000 |
commit | b17e88dc685e3bb0284aa53ef933c02b1e8b199e (patch) | |
tree | d257714320e4cc1d2accc843a0b36921f4fd889b /app/helpers/link_to_helper.rb | |
parent | 9f1fe3ca49298c5ea52cd6ebb7c2e518d45e7718 (diff) |
Don't generate endlessly recursive URLs from request pages where the URL has a query string. Fixes #311.
Diffstat (limited to 'app/helpers/link_to_helper.rb')
-rwxr-xr-x | app/helpers/link_to_helper.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/helpers/link_to_helper.rb b/app/helpers/link_to_helper.rb index 54b8d69d0..5866c31f0 100755 --- a/app/helpers/link_to_helper.rb +++ b/app/helpers/link_to_helper.rb @@ -185,9 +185,16 @@ module LinkToHelper end - def main_url(relative_path) + def main_url(relative_path, append = nil) url_prefix = "http://" + MySociety::Config.get("DOMAIN", '127.0.0.1:3000') - return url_prefix + relative_path + url = url_prefix + relative_path + if !append.nil? + env = Rack::MockRequest.env_for(url) + req = Rack::Request.new(env) + req.path_info += append + url = req.url + end + return url end # Basic date format |