我必须遗漏Rack的non-existant文档中的内容:)我正在尝试向ruhoh添加其他网络服务路由,并且可以让它们在localhost:9292/test
工作,但是新的Rack::Builder
对象似乎覆盖了最后一个,因为我无法再访问localhost:9292/
的默认博客。我尝试了不同的方法来定义新路由而不声明Rack::Builder.new
,但无法使任何工作。
使用此界面添加其他路线的最佳方法是什么?
require 'rack'
require 'ruhoh'
run Ruhoh::Program.preview
# Additional routes
builder = Rack::Builder.new do
use Rack::CommonLogger
map '/test' do
run Proc.new {|env| [200, {"Content-Type" => "text/html"}, StringIO.new("infinity 0.1")] }
end
end
run builder
答案 0 :(得分:0)
在您使用它的方式中,run Ruhoh::Program.preview
将永远不会为请求提供服务。
你应该把它放到建设者:
builder = Rack::Builder.new do
use Rack::CommonLogger
map '/' do
run Ruhoh::Program.preview
end
map '/test' do
run Proc.new {|env| [200, {"Content-Type" => "text/html"}, StringIO.new("infinity 0.1")] }
end
end
run builder