2012-03-08 35 views
1

我有一個簡單的紅寶石服務器一樣的東西:後接收與機架式服務器的紅寶石

app = Proc.new do |env| 
    puts 'am I receiving anything ? ' 
    req = Rack::Request.new(env).params 
    puts "if yes any parameters ? : #{req.inspect}" 
end 

Rack::Handler::Thin.run(app, :Port => 4001, :threaded => true) 

我怎麼接受與參數POST請求,我使用郵寄一些JSON對象,但我可以看到什麼都沒有,當我發送POST到localhost:4001時,我什麼也沒收到。

+0

請問我的回答可以幫助您? – 2012-03-09 16:11:31

回答

2

這是因爲您沒有回覆回覆。你的迴應是空的,所以你不會看到任何東西。從應用程序內

$ curl -F 'foo=bar' localhost:4001 
curl: (52) Empty reply from server 

響應::您可以通過捲曲測試這個

am I receiving anything ? 
if yes any parameters ? : {"foo"=>"bar"} 

,請返回的東西:

app = Proc.new do |env| 
    puts 'am I receiving anything ? ' 
    req = Rack::Request.new(env).params 
    puts "if yes any parameters ? : #{req.inspect}" 
    [200, { 'Content-Type' => 'text/plain' }, ['Some body']] 
end 
+0

所以它是我可以同時收到GET和POST Rack :: Request.new(env).params?即使它像使用POST發送的JSON對象?或任何其他序列化類型? – Eqbal 2012-03-09 12:14:22

+0

是的。 Rack :: Request不關心使用了什麼類型的請求方法。這取決於用戶添加條件 – 2012-03-09 13:51:02