Net::HTTP and post_form

I expected this to work (since the #post_form method is documented), but
the method is not found:

require ‘net/http’

Net::HTTP.start(‘127.0.0.1’, 4567) do |http|
http.post_form(’/foo’, “bar” => “baz”)
end

Here’s the error:

http-post-bug.rb:4: undefined method post_form' for #<Net::HTTP 127.0.0.1:4567 open=false> (NoMethodError) from /usr/local/lib/ruby/1.8/net/http.rb:543:instart’
from /usr/local/lib/ruby/1.8/net/http.rb:440:in `start’
from http-post-bug.rb:3

Why isn’t post_form usable in the block form? I’m using the block form
because it’s actually going thru a proxy.

I can do it myself by creating the request manually:

   req = Net::HTTP::Post.new(path)
   req.form_data = params
   Net::HTTP.new('127.0.0.1', 4567).start {|http|
     http.request(req)
   }

but it’s kind of disappointing.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs