我有一个小的简单Net::HTTP
POST请求要对我的Sinatra应用程序执行:
def collect(website)
uri = URI("http://localhost:9393/save/#{website}")
res = Net::HTTP.post_form(uri, 'q' => 'ruby', 'max' => '50')
puts res.body
end
但它导致超时。这是请求处理程序:
post '/save/:website' do |website|
puts request.body
"done"
end
我从未到达puts
或done
。我的shotgun
服务器当然在端口9393上运行。当我使用REST控制台扩展并在其中粘贴有效的json时,它适用于相同的路径。
导致此Timeout :: Error的原因是什么?
答案 0 :(得分:1)
所以奇怪的是,我将服务器从shotgun
更改为仅使用sinatra
和gem sinatra/reloader
运行它。我使用的是shotgun
,因为只要源文件发生变化,它就会自动重新加载,而sinatra
本身则没有。
在放弃shotgun
之后,它立即开始工作。