[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>

In This Thread

Prev Next