if __FILE__ == $0 SSL_KEY = "spec/fixtures/certificates/key.pem" SSL_CERT = "spec/fixtures/certificates/cert.pem" trap(:INT) do @server.shutdown exit end def webrick_opts port certificate = OpenSSL::X509::Certificate.new(File.read(SSL_CERT)) cert_name = certificate.subject.to_a.collect{|a| a[0..1] } { Port: port, Host: "0.0.0.0", AccessLog: [], SSLCertificate: certificate, SSLPrivateKey: OpenSSL::PKey::RSA.new(File.read(SSL_KEY)), SSLEnable: true, SSLCertName: cert_name } end require "pact_broker" DATABASE_CREDENTIALS = { adapter: "sqlite", database: "/tmp/pact_broker_ssl_database.sqlite3", :encoding => "utf8" } app = PactBroker::App.new do | config | config.logger = ::Logger.new($stdout) config.logger.level = ::Logger::INFO config.auto_migrate_db = true config.database_connection = Sequel.connect(DATABASE_CREDENTIALS.merge(:logger => PactBroker::DB::LogQuietener.new(Logger.new(StringIO.new)))) end require "webrick" require "webrick/https" require "rack" require "rack/handler/webrick" opts = webrick_opts(4444) Rack::Handler::WEBrick.run(app, opts) do |server| @server = server end end