#!/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