Method: Magpie::Snake#call
- Defined in:
- lib/middles/snake.rb
#call(env) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/middles/snake.rb', line 18 def call(env) state, header, body = @app.call(env) @block.call(self) @req = Rack::Request.new(env) @urls[@req.request_method].each { |path, lamb| if @req.path_info =~ Regexp.new("^#{path}$") body = lamb.call break end } [state, header, body] rescue Exception => e Magpie.logger.info(e.inspect + ":\n" + e.backtrace[0..8].join("\n")) [500, header, "500, 请查看日志,了解异常原因"] end |