Sha256: d0eaad6db82b7f2cb39e2392224530b59c95dff855c7c147354c87ca3eeae094

Contents?: true

Size: 1.35 KB

Versions: 36

Compression:

Stored size: 1.35 KB

Contents

# ssl-serve.rb
# USAGE: ruby ssl-serve.rb
#
# ssl-serve is a script that serves a local directory over SSL.
# You can use it to test various HTTP behaviors in chef, like chef-client's
# `-j` and `-c` options and remote_file with https connections.
#
require "pp"
require "openssl"
require "webrick"
require "webrick/https"

$ssl = true

CHEF_SPEC_DATA = File.expand_path("../data", __dir__)
cert_text = File.read(File.expand_path("ssl/chef-rspec.cert", CHEF_SPEC_DATA))
cert = OpenSSL::X509::Certificate.new(cert_text)
key_text = File.read(File.expand_path("ssl/chef-rspec.key", CHEF_SPEC_DATA))
key = OpenSSL::PKey::RSA.new(key_text)

server_opts = {}
if $ssl
  server_opts.merge!( { SSLEnable: true,
                        SSLVerifyClient: OpenSSL::SSL::VERIFY_NONE,
                        SSLCertificate: cert,
                        SSLPrivateKey: key })
end

# 5 == debug, 3 == warning
LOGGER = WEBrick::Log.new(STDOUT, 5)
DEFAULT_OPTIONS = {
  server: "webrick",
  Port: 9000,
  Host: "localhost",
  environment: :none,
  Logger: LOGGER,
  DocumentRoot: File.expand_path("#{Dir.tmpdir}/chef-118-sampledata"),
  #:AccessLog => [] # Remove this option to enable the access log when debugging.
}.freeze

webrick_opts = DEFAULT_OPTIONS.merge(server_opts)
pp webrick_opts: webrick_opts

server = WEBrick::HTTPServer.new(webrick_opts)
trap("INT") { server.shutdown }

server.start

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
chef-15.17.4-universal-mingw32 spec/scripts/ssl-serve.rb
chef-15.17.4 spec/scripts/ssl-serve.rb
chef-15.16.7-universal-mingw32 spec/scripts/ssl-serve.rb
chef-15.16.7 spec/scripts/ssl-serve.rb
chef-15.16.4-universal-mingw32 spec/scripts/ssl-serve.rb
chef-15.16.4 spec/scripts/ssl-serve.rb
chef-15.16.2-universal-mingw32 spec/scripts/ssl-serve.rb
chef-15.16.2 spec/scripts/ssl-serve.rb
chef-15.15.0-universal-mingw32 spec/scripts/ssl-serve.rb
chef-15.15.0 spec/scripts/ssl-serve.rb
chef-16.8.14-universal-mingw32 spec/scripts/ssl-serve.rb
chef-16.8.14 spec/scripts/ssl-serve.rb
chef-16.8.9-universal-mingw32 spec/scripts/ssl-serve.rb
chef-16.8.9 spec/scripts/ssl-serve.rb
chef-16.7.61-universal-mingw32 spec/scripts/ssl-serve.rb
chef-16.7.61 spec/scripts/ssl-serve.rb
chef-16.6.14-universal-mingw32 spec/scripts/ssl-serve.rb
chef-16.6.14 spec/scripts/ssl-serve.rb
chef-16.5.77 spec/scripts/ssl-serve.rb
chef-16.5.77-universal-mingw32 spec/scripts/ssl-serve.rb