37 lines
911 B
Plaintext
37 lines
911 B
Plaintext
|
#!/usr/bin/env ruby
|
||
|
old_verbose, $VERBOSE = $VERBOSE, nil
|
||
|
begin
|
||
|
require File.expand_path('../../test/live_server', __FILE__)
|
||
|
ensure
|
||
|
$VERBOSE = old_verbose
|
||
|
end
|
||
|
require 'webrick'
|
||
|
|
||
|
port = 4000
|
||
|
if found = ARGV.index('-p')
|
||
|
port = ARGV[found + 1].to_i
|
||
|
end
|
||
|
|
||
|
log_io = $stdout
|
||
|
log_io.sync = true
|
||
|
|
||
|
webrick_opts = {
|
||
|
:Port => port, :Logger => WEBrick::Log::new(log_io),
|
||
|
:AccessLog => [[log_io, "[%{X-Faraday-Adapter}i] %m %U -> %s %b"]]
|
||
|
}
|
||
|
|
||
|
if ENV['SSL_KEY']
|
||
|
require 'openssl'
|
||
|
require 'webrick/https'
|
||
|
webrick_opts.update \
|
||
|
:SSLEnable => true,
|
||
|
:SSLPrivateKey => OpenSSL::PKey::RSA.new(File.read(ENV['SSL_KEY'])),
|
||
|
:SSLCertificate => OpenSSL::X509::Certificate.new(File.read(ENV['SSL_FILE'])),
|
||
|
:SSLVerifyClient => OpenSSL::SSL::VERIFY_NONE
|
||
|
end
|
||
|
|
||
|
Rack::Handler::WEBrick.run(Faraday::LiveServer, webrick_opts) do |server|
|
||
|
trap(:INT) { server.stop }
|
||
|
trap(:TERM) { server.stop }
|
||
|
end
|