Issue #13063 has been updated by Shyouhei Urabe.

Status changed from Open to Feedback

Sorry, I don't get what you want. Net::HTTP is a HTTP library and file:/// is not a HTTP URL.  You are doing something that never works.

Maybe you want a higher level abstraction?  If so I think that should be done in a separate library than Net::HTTP.

----------------------------------------
Bug #13063: net/http abends with local file URI
https://bugs.ruby-lang.org/issues/13063#change-62218

* Author: Hedge Hog
* Status: Feedback
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
Give the ruby code in issue.rb is:

~~~
begin

  require 'uri'
  require 'net/http'
  p ::File.exist?('/tmp/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.tar.gz.md5')
  uri = URI( 'file:/tmp/tomcat-8/v8.0.39/bin/apache-tomcat-8.0.39.tar.gz.md5' )
  req= Net::HTTP.new(uri.host, uri.port)
  req.get( uri )
rescue => e
  p e.inspect
  p e.backtrace
end
~~~

Then the results is 

~~~
true
"#<TypeError: can't dup NilClass>"
["/opt/chef/embedded/lib/ruby/2.3.0/net/http/generic_request.rb:18:in `dup'", "/opt/chef/embedded/lib/ruby/2.3.0/net/http/generic_request.rb:18:in `initialize'", "/opt/chef/embedded/lib/ruby/2.3.0/net/http/request.rb:15:in `initialize'", "/opt/chef/embedded/lib/ruby/2.3.0/net/http.rb:1156:in `new'", "/opt/chef/embedded/lib/ruby/2.3.0/net/http.rb:1156:in `get'", "/tmp/issue.rb:7:in `<main>'"]

~~~



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