lib/capybara/webmock.rb in capybara-webmock-0.5.5 vs lib/capybara/webmock.rb in capybara-webmock-0.6.0
- old
+ new
@@ -7,18 +7,24 @@
require 'capybara/webmock/proxy'
require 'capybara/webmock/proxied_request'
module Capybara
module Webmock
+ SEPARATOR = "|"
+
class << self
- attr_accessor :port_number, :pid_file, :kill_timeout, :start_timeout
+ attr_accessor :port_number, :pid_file, :kill_timeout, :start_timeout, :allowed_hosts
def start
if @pid.nil?
kill_old_process
gem_path = File.dirname(__FILE__)
proxy_file = File.join(gem_path, 'webmock', 'config.ru')
- stdin, stdout, wait_thr = Open3.popen2e({ "PROXY_PORT_NUMBER" => port_number.to_s }, "rackup", proxy_file)
+ env_config = {
+ "CAPYBARA_WEBMOCK_PROXY_PORT_NUMBER" => port_number.to_s,
+ "CAPYBARA_WEBMOCK_ADDED_HOSTS" => allowed_hosts.to_a.join(SEPARATOR)
+ }
+ stdin, stdout, wait_thr = Open3.popen2e(env_config, "rackup", proxy_file)
stdin.close
@stdout = stdout
@pid = wait_thr[:pid]
write_pid_file
wait_for_proxy_start