Class: Support::ServerInitializer

Inherits:
Object
  • Object
show all
Defined in:
lib/redirect_engine/support.rb

Instance Method Summary collapse

Constructor Details

#initialize(config_file) ⇒ ServerInitializer

Returns a new instance of ServerInitializer.



80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/redirect_engine/support.rb', line 80

def initialize(config_file)
  puts "Initializing Server from #{config_file}"
  $engine_config = load_yaml(config_file)
  $logger = WEBrick::Log::new($engine_config["logfile"], WEBrick::Log::DEBUG)

  $engine = RedirectEngine::Engine.new
  $engine.start()

  access_log_stream = File.open($engine_config["access_log"], 'w')
  access_log = [ [ access_log_stream, WEBrick::AccessLog::COMBINED_LOG_FORMAT ] ]

  webrick_options = {
    :Port               => $engine_config["port"] || 8443,
    :Host               => $engine_config["ip"] || "127.0.0.1",
  #  :Logger             => WEBrick::Log::new($stderr, WEBrick::Log::DEBUG),
    :Logger             => $logger,
    :AccessLog          => access_log,
    :DocumentRoot       => File.dirname(__FILE__) + '/../public',
    :SSLEnable          => true,
    :SSLVerifyClient    => OpenSSL::SSL::VERIFY_NONE,
    :SSLCertificate     => OpenSSL::X509::Certificate.new(  File.open(File.join($engine_config["cert_path"], $engine_config["hostname"] + ".cert")).read),
    :SSLPrivateKey      => OpenSSL::PKey::RSA.new(          File.open(File.join($engine_config["cert_path"], $engine_config["hostname"] + ".key")).read),
    :SSLCertName        => [ [ "CN",WEBrick::Utils::getservername ] ],
    :app                => MyServer
  }

  Rack::Server.start webrick_options

end