Class: RubyHome::Rack::Handler::HAPServer

Inherits:
Rack::Handler::WEBrick
  • Object
show all
Defined in:
lib/ruby_home/rack/handler/hap_server.rb

Class Method Summary collapse

Class Method Details

.run(app, options = {}) {|@server| ... } ⇒ Object

Yields:

  • (@server)


8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/ruby_home/rack/handler/hap_server.rb', line 8

def self.run(app, options={})
  environment  = ENV['RACK_ENV'] || 'development'
  default_host = environment == 'development' ? 'localhost' : nil

  options[:BindAddress] = options.delete(:Host) || default_host
  options[:Port] ||= 8080
  unless ENV['DEBUG']
    options[:Logger] = WEBrick::Log.new("/dev/null")
    options[:AccessLog] = []
  end
  @server = HTTP::HAPServer.new(options)
  @server.mount '/', Handler::HAPServer, app
  yield @server  if block_given?
  @server.start
end