Class: Ur::RackMiddleware

Inherits:
Object
  • Object
show all
Includes:
Middleware
Defined in:
lib/ur/middleware.rb

Instance Attribute Summary

Attributes included from Middleware

#app, #options

Instance Method Summary collapse

Methods included from Middleware

#begin_request, #finish_request, #initialize, #invoke_callback

Instance Method Details

#call(env) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/ur/middleware.rb', line 45

def call(env)
  ur = Ur.from_rack_request(env, **@options.select { |k, _| [:schemas].include?(k) })
  invoke_callback(:before_request, ur)
  begin_request(ur)
  ur.with_rack_response(@app, env) do
    finish_request(ur)
    invoke_callback(:after_response, ur)
  end
end