我正在用ruby使用mongrel实现一个小型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数据。我怎么才能拿到?

最佳答案

StringIO#read应该这样做:

puts request.body.read

09-15 20:56