How to get POST HTTPRequest data?

I am implementing a small HTTP server with Ruby using Mongrel. Currently my code looks like this:

require 'mongrel.rb'

class SimpleHandler < Mongrel::HttpHandler
  def process(request, response)
    puts request.body # outputs #<StringIO:0xb7656e74> 
    response.start(200) do |head,out|
      head["Content-Type"] = "application/ocsp-responder"
      out.write("hello!\n")
    end
  end
end

h = Mongrel::HttpServer.new("127.0.0.1", "5000")
h.register("/", SimpleHandler.new)
h.run.join

      

As you can see in my example, request.body does not output POST data. How can I get it?

+2


a source to share


1 answer


StringIO # read should do this:



puts request.body.read

      

+3


a source







All Articles