我正在试用goliath非阻塞ruby服务器。
对于我的应用程序,我需要创建至少2个已定义的路由,比如"/call_one“和"/call_two",每个映射都应该以不同的方式响应。
歌利亚文档提到了map函数,这正是我所需要的。但它不再存在于source中。
发布于 2013-03-17 21:26:26
实际上,它已经被删除了,但您并不真正需要它。您可以安装并运行通用的映射器gem (记住歌利亚与机架几乎是兼容的),比如https://github.com/joshbuddy/http_router
或者,您可以只检查环境变量,看看RACK为您提供了什么,并执行正确的路由,例如
class MyServer < Goliath::API
def response(env)
case env['PATH_INFO']
when '/action_1'
[200, {}, "Action 1 Response"]
when '/action_2'
[200, {}, "Action 2 Response"]
when '/'
[200, {}, "Root Action"]
else
raise Goliath::Validation::NotFoundError
end
end
end发布于 2013-05-21 09:30:57
路由器被从Goliath中删除,因为它导致了许多棘手的边缘情况。Goliath的初衷是一条路由,一个API。因此,我们在前面有Nginx或HAProxy,它们将路由到正确的Goliath API服务器(通常每个路由都有一堆Goliath服务器)。
对我们来说,这是最好的解决方案,因为它允许我们在不影响其他任何API服务器的情况下更新任何API服务器。
https://stackoverflow.com/questions/14036363
复制相似问题