class VagrantPlugins::Share::Helper::Api

Public Class Methods

start_api(machine) { |api| ... } click to toggle source
# 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