Question

I have a skeleton Padrino (0.10.7) project, with pretty much no code. I am trying to insert a middleware in 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!

In MyClass,

class MyClass
    def initialize arg
    @arg = arg
    end
end

If I try to use thin server (1.5.x), I get this exception (only when I insert my middleware):

Uncaught exception: app required

Same works fine with builtin webrick.

Any idea on how to make it work with thin?

Était-ce utile?

La solution

Never mind, found it. Basically, you need to define the call (env) method too, otherwise it wont even start the server. This is what minimum is required from a middleware:

class MyClass
    def initialize app
        @app = app
    end
    def call env
        @app.call env
    end
end
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top