faraday/script/server
2019-03-03 19:23:46 +00:00

40 lines
909 B
Ruby
Executable File

#!/usr/bin/env ruby
# frozen_string_literal: true
old_verbose = $VERBOSE
$VERBOSE = nil
begin
require File.expand_path('../test/live_server', __dir__)
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