Class: FakeS3::Server

Inherits:
Object
  • Object
show all
Defined in:
lib/fakes3/server.rb

Instance Method Summary collapse

Constructor Details

#initialize(address, port, store, hostname, ssl_cert_path, ssl_key_path, extra_options = {}) ⇒ Server

Returns a new instance of Server.



540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
# File 'lib/fakes3/server.rb', line 540

def initialize(address, port, store, hostname, ssl_cert_path, ssl_key_path, extra_options={})
  @address = address
  @port = port
  @store = store
  @hostname = hostname
  @ssl_cert_path = ssl_cert_path
  @ssl_key_path = ssl_key_path
  webrick_config = {
    :BindAddress => @address,
    :Port => @port
  }
  if !@ssl_cert_path.to_s.empty?
    webrick_config.merge!(
      {
        :SSLEnable => true,
        :SSLCertificate => OpenSSL::X509::Certificate.new(File.read(@ssl_cert_path)),
        :SSLPrivateKey => OpenSSL::PKey::RSA.new(File.read(@ssl_key_path))
      }
    )
  end

  if extra_options[:quiet]
    webrick_config.merge!(
      :Logger => WEBrick::Log.new("/dev/null"),
      :AccessLog => []
    )
  end

  @server = WEBrick::HTTPServer.new(webrick_config)
end

Instance Method Details

#serveObject



571
572
573
574
575
576
577
# File 'lib/fakes3/server.rb', line 571

def serve
  @server.mount "/", Servlet, @store, @hostname
  shutdown = proc { @server.shutdown }
  trap "INT", &shutdown
  trap "TERM", &shutdown
  @server.start
end

#shutdownObject



579
580
581
# File 'lib/fakes3/server.rb', line 579

def shutdown
  @server.shutdown
end