如何获取HTTP请求POST数据?

时间:2010-04-15 13:14:02

标签: ruby mongrel

我正在使用Mongrel实现一个使用Ruby的小型HTTP服务器。我的代码目前看起来像这样:

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

正如您在我的示例中所看到的,request.body不输出POST数据。我怎么能得到它?

1 个答案:

答案 0 :(得分:3)

StringIO#read应该这样做:

puts request.body.read