Получение POST с сервером Rack ruby - PullRequest
2 голосов
/ 09 марта 2012

У меня есть простой сервер ruby ​​что-то вроде:

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, но ничего не вижу, как будто я ничего не получаю, когда отправляю POST на localhost: 4001.

1 Ответ

2 голосов
/ 09 марта 2012

Это потому, что вы не возвращаете ответ. Ваш ответ пуст, поэтому вы ничего не увидите. Вы можете проверить это через cURL:

$ 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
...