class FakeS3::Server

Public Class Methods

new(address, port, store, hostname, ssl_cert_path, ssl_key_path, extra_options={}) click to toggle source
# 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

Public Instance Methods

serve() click to toggle source
# 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
shutdown() click to toggle source
# File lib/fakes3/server.rb, line 579
def shutdown
  @server.shutdown
end