Class: VagrantPlugins::Share::Helper::Api

Inherits:
Object
  • Object
show all
Defined in:
lib/vagrant-share/helper/api.rb

Defined Under Namespace

Classes: Logger

Constant Summary collapse

@@logger =
Log4r::Logger.new("vagrant::plugins::share_api")

Class Method Summary collapse

Class Method Details

.start_api(machine) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/vagrant-share/helper/api.rb', line 20

def self.start_api(machine)
  require "webrick/https"
  begin
    logger = Logger.new(@@logger)
    $stderr = StringIO.new("")
    api = WEBrick::HTTPServer.new(
      AccessLog: [
        [logger, WEBrick::AccessLog::COMMON_LOG_FORMAT]
      ],
      Logger: WEBrick::Log.new(logger),
      Port: 0,
      SSLCertName: [%w(CN vagrant)],
      SSLEnable: true
    )
  ensure
    $stderr = STDERR
  end
  if block_given?
    yield api
  end
  api
end