/usr/lib/ruby/vendor_ruby/merb-core/rack/application.rb is in ruby-merb-core 1.1.3+dfsg-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 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 54 | module Merb
module Rack
class Application
# The main rack application call method. This is the entry point from rack (and the webserver)
# to your application.
#
# ==== Parameters
# env<Hash>:: A rack request of parameters.
#
# ==== Returns
# <Array>:: A rack response of [status<Integer>, headers<Hash>, body<String, Stream>]
#
# :api: private
def call(env)
begin
rack_response = ::Merb::Dispatcher.handle(Merb::Request.new(env))
rescue Object => e
return [500, {Merb::Const::CONTENT_TYPE => Merb::Const::TEXT_SLASH_HTML}, e.message + Merb::Const::BREAK_TAG + e.backtrace.join(Merb::Const::BREAK_TAG)]
end
Merb.logger.info Merb::Const::DOUBLE_NEWLINE
Merb.logger.flush
# unless controller.headers[Merb::Const::DATE]
# require "time"
# controller.headers[Merb::Const::DATE] = Time.now.rfc2822.to_s
# end
rack_response
end
# Determines whether this request is a "deferred_action", usually a long request.
# Rack uses this method to detemine whether to use an evented request or a deferred
# request in evented rack handlers.
#
# ==== Parameters
# env<Hash>:: The rack request
#
# ==== Returns
# Boolean::
# True if the request should be deferred.
#
# :api: private
def deferred?(env)
path = env[Merb::Const::PATH_INFO] ? env[Merb::Const::PATH_INFO].chomp(Merb::Const::SLASH) : Merb::Const::EMPTY_STRING
if path =~ Merb.deferred_actions
Merb.logger.info! "Deferring Request: #{path}"
true
else
false
end
end # deferred?(env)
end # Application
end # Rack
end # Merb
|