class Opal::CliRunners::Safari

def with_http_server(dir)

def with_http_server(dir)
  port = safari_driver_port.to_i + 1
  server_thread = Thread.new do
    server = WEBrick::HTTPServer.new(Port: port, DocumentRoot: dir, Logger: WEBrick::Log.new('/dev/null'), AccessLog: [])
    server.mount_proc('/log') do |req, res|
      if req.body
        par = JSON.parse(req.body)
        par.each_value do |value|
          print value.to_s
        end
      end
      res.header['Content-Type'] = 'text/plain'
      res.body = ''
    end
    server.mount_proc('/exit') do
      server_thread.kill
    end
    server.start
  end
  yield port, server_thread
rescue
  exit(1)
ensure
  server_thread.kill if server_thread
end