[ruby-core:94488] [Ruby master Feature#11322] OpenUri: RuntimeError: HTTP redirection loop
From:
merch-redmine@...
Date:
2019-08-23 00:47:01 UTC
List:
ruby-core #94488
Issue #11322 has been updated by jeremyevans0 (Jeremy Evans).
Backport deleted (2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN)
ruby -v deleted (ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux])
Tracker changed from Bug to Feature
File open_uri-redirect-cookie-11322.patch added
I don't think this is a bug. As 0x0dea (D.E. Akers) pointed out, other programs work the same way. However, I think cookie handling in open_uri could be a useful feature. Attached is a patch that implements the necessary support.
I used this Roda app to test the cookie redirection support:
```ruby
require 'roda'
Roda.plugin :cookies
Roda.route do |r|
r.root do
if r.cookies['foo'] == 'bar'
'Success!'
else
response.set_cookie('foo', 'bar')
r.redirect '/'
end
end
end
run Roda
```
----------------------------------------
Feature #11322: OpenUri: RuntimeError: HTTP redirection loop
https://bugs.ruby-lang.org/issues/11322#change-80923
* Author: tbsprs (Tobias Preuss)
* Status: Assigned
* Priority: Normal
* Assignee: akr (Akira Tanaka)
* Target version:
----------------------------------------
Trying to download [this file](http://apps.london.ca/OpenData/ShapeFiles_Zipped/2010_skateboard_parks_shp.zip) from [this website](http://www.london.ca/city-hall/open-data/Pages/Open-Data-Data-Catalogue.aspx) with [`OpenUri`](http://ruby-doc.org/stdlib-2.2.2/libdoc/open-uri/rdoc/OpenURI.html) fails with the runtime error "HTTP redirection loop".
Here is how I can reproduce the error:
~~~
> require 'open-uri'
=> true
> open('http://apps.london.ca/OpenData/ShapeFiles_Zipped/2010_skateboard_parks_shp.zip')
RuntimeError: HTTP redirection loop: http://apps.london.ca/uniquesig87fdc01fb86ce6f0fd235c713015d7d7/uniquesig0/InternalSite/StartApp.asp?resource_id=837A134B9EC24A2197B6AF5745B6CA55&login_type=0&site_name=appstrunk&secure=0&orig_url=http%3a%2f%2fapps.london.ca%2fOpenData%2fShapeFiles_Zipped%2f2010_skateboard_parks_shp.zip
from /home/john/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/open-uri.rb:232:in `open_loop'
from /home/john/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/open-uri.rb:150:in `open_uri'
from /home/john/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/open-uri.rb:716:in `open'
from /home/john/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/open-uri.rb:34:in `open'
from (irb):2
from /home/john/.rvm/rubies/ruby-2.2.2/bin/irb:11:in `<main>'
~~~
---Files--------------------------------
open_uri-redirect-cookie-11322.patch (2.3 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>