在Padrino中插入中间件

时间:2013-01-10 05:41:13

标签: ruby thin padrino

我有一个骨架Padrino(0.10.7)项目,几乎没有代码。我试图在boot.rb中插入一个中间件:

##
# Add your after (RE)load hooks here
#
Padrino.after_load do
    DataMapper.finalize
    Padrino.use MyClass      #Line (1) added by me
end

Padrino.load!

在MyClass中,

class MyClass
    def initialize arg
    @arg = arg
    end
end

如果我尝试使用瘦服务器(1.5.x),我会收到此异常(仅当我插入我的中间件时):

Uncaught exception: app required

同样适用于内置webrick。

关于如何让它与瘦身一起工作的任何想法?

1 个答案:

答案 0 :(得分:2)

没关系,发现它。基本上,您还需要定义call(env)方法,否则它甚至不会启动服务器。这是中间件所需的最低要求:

class MyClass
    def initialize app
        @app = app
    end
    def call env
        @app.call env
    end
end