From: "danblack (Daniel Black)" Date: 2013-02-27T05:56:40+09:00 Subject: [ruby-core:52958] [ruby-trunk - Bug #7973] [doc] net/http URI passed to Net::HTTP::Post.new or Net::HTTP::Get.new errors NoMethodError: undefined method `empty?' Issue #7973 has been updated by danblack (Daniel Black). a combined uri.path and uri.query (if exists) is needed Net::HTTP::Get.new uri.path + '?' + uri.query I probably should also request that URI has a method to returns path + query as it would make a lot of sense in these examples. ---------------------------------------- Bug #7973: [doc] net/http URI passed to Net::HTTP::Post.new or Net::HTTP::Get.new errors NoMethodError: undefined method `empty?' https://bugs.ruby-lang.org/issues/7973#change-37113 Author: danblack (Daniel Black) Status: Open Priority: Normal Assignee: zzak (Zachary Scott) Category: doc Target version: ruby -v: ruby 1.9.3p385 (2013-02-06 revision 39114) [x86_64-linux] http://www.ruby-doc.org/stdlib-2.0/libdoc/net/http/rdoc/Net/HTTP.html documents a URI object being passed to Net::HTTP::Get.new and Net::HTTP::Post.new a few times. passing a URI to Net::HTTP::Post.new or Net::HTTP::Get.new throws a NoMethodError as the URI doesn't have an empty method. (({1.9.3p385 :040 > uri = URI('http://www.example.com/search.cgi') => # 1.9.3p385 :041 > req = Net::HTTP::Post.new(uri) NoMethodError: undefined method `empty?' for # from /usr/local/redmine-new/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/net/http.rb:1860:in `initialize' from /usr/local/redmine-new/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/net/http.rb:2093:in `initialize' from (irb):41:in `new' from (irb):41 from /usr/local/redmine-new/.rvm/rubies/ruby-1.9.3-p385/bin/irb:16:in `
' 1.9.3p385 :042 > req = Net::HTTP::Get.new(uri) NoMethodError: undefined method `empty?' for # from /usr/local/redmine-new/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/net/http.rb:1860:in `initialize' from /usr/local/redmine-new/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/net/http.rb:2093:in `initialize' from (irb):42:in `new' from (irb):42 from /usr/local/redmine-new/.rvm/rubies/ruby-1.9.3-p385/bin/irb:16:in `
' })) also fails in ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux] -- http://bugs.ruby-lang.org/