Class: Merb::Rack::WEBrick

Inherits:
AbstractAdapter show all
Defined in:
lib/merb-core/rack/adapter/webrick.rb

Class Attribute Summary collapse

Class Method Summary collapse

Methods inherited from AbstractAdapter

process_title, spawn_worker, start, start_at_port

Class Attribute Details

.serverObject

Returns the value of attribute server.



10
11
12
# File 'lib/merb-core/rack/adapter/webrick.rb', line 10

def server
  @server
end

Class Method Details

.exit_process(status = 0) ⇒ Object



40
41
# File 'lib/merb-core/rack/adapter/webrick.rb', line 40

def self.exit_process(status = 0)
end

.new_server(port) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/merb-core/rack/adapter/webrick.rb', line 13

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

.start_serverObject



29
30
31
32
33
# File 'lib/merb-core/rack/adapter/webrick.rb', line 29

def self.start_server
  @server.mount("/", ::Rack::Handler::WEBrick, @opts[:app])
  @server.start
  exit(@status)
end

.stop(status = 0) ⇒ Object



35
36
37
38
# File 'lib/merb-core/rack/adapter/webrick.rb', line 35

def self.stop(status = 0)
  @status = status
  @server.shutdown
end