/usr/lib/ruby/vendor_ruby/merb-core/rack/adapter/webrick.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 | require 'webrick'
require 'webrick/utils'
require 'rack/handler/webrick'
module Merb
module Rack
class WEBrick < Merb::Rack::AbstractAdapter
class << self
# :api: private
attr_accessor :server
end
# :api: plugin
def self.new_server(port)
options = {
:Port => port,
:BindAddress => @opts[:host],
:Logger => Merb.logger,
:AccessLog => [
[Merb.logger, ::WEBrick::AccessLog::COMMON_LOG_FORMAT],
[Merb.logger, ::WEBrick::AccessLog::REFERER_LOG_FORMAT]
]
}
sockets = ::WEBrick::Utils.create_listeners nil, port
@server = ::WEBrick::HTTPServer.new(options.merge(:DoNotListen => true))
@server.listeners.replace sockets
end
# :api: plugin
def self.start_server
@server.mount("/", ::Rack::Handler::WEBrick, @opts[:app])
@server.start
exit(@status)
end
# :api: plugin
def self.stop(status = 0)
@status = status
@server.shutdown
end
end
end
end
|