29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'lib/buttons/application.rb', line 29
def call(environment)
rack_app = lambda { |env|
request = ::Rack::Request.new(env)
response = ::Rack::Response.new
route = @router.recognize(request)
if route
render(request, response, route)
else
[404, {"Content-Type" => 'text/plain'}, "not found: #{request.path}\n\n" +
"All routes: \n#{@router.print_routes}"
]
end
}
@middlewares.each do |middleware, options|
rack_app = if options
middleware.new(rack_app, options)
else
middleware.new(rack_app)
end
end
rack_app.call environment
end
|