2010-04-15 6 views
2

J'implémente un petit serveur HTTP avec Ruby en utilisant Mongrel. Mon code ressemble actuellement à ceci:Comment obtenir les données HTTPRequest POST?

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 

Comme vous pouvez le voir dans mon échantillon, request.body ne sort pas les données POST. Comment puis-je l'avoir?

Répondre

3

StringIO#read devrait le faire:

puts request.body.read 
+0

j'ai pu obtenir les données à l'aide request.body.string, mais votre solution fonctionne aussi bien. Merci. – StackedCrooked

Questions connexes