ruby-on-rails - 使用 Rack ruby​​ 服务器接收 POST

标签 ruby-on-rails ruby rack

我有一个简单的 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 请求,我正在使用 post 发送一些 JSON 对象,但是当我将 POST 发送到 localhost:4001 时,我看不到任何东西,就像我没有收到任何东西一样。

最佳答案

那是因为您没有返回响应。您的回复是空的,因此您看不到任何内容。您可以通过 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

关于ruby-on-rails - 使用 Rack ruby​​ 服务器接收 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9626418/

相关文章:

ruby-on-rails - 如何从外部网站重新创建图像预览?

ruby-on-rails - 在不成功的 Braintree 交易期间返回参数/信用卡信息

ruby - 如何拆分到数字的右侧?

ruby-on-rails - 没有要加载的文件 - Rack

javascript - 在 Heroku 上访问 Javascript 中的环境变量?

ruby-on-rails - 使用设计和 cucumber 测试登录

ruby-on-rails - 为什么我能在 Heroku 看到这么多 worker ?我如何限制其他员工的访问权限?

Ruby .count 操作截断输入文件

ruby - Datamapper,定义自己的对象方法,怎么样?

ruby - 如何测试 Rack 中间件的请求(不是响应)?