Class: Capybara::Webmock::Proxy

Inherits:
Rack::Proxy
  • Object
show all
Defined in:
lib/capybara/webmock/proxy.rb

Constant Summary collapse

ALLOWED_HOSTS =
allowed_hosts = ['127.0.0.1', 'localhost', /(.*\.|\A)lvh.me/]

Instance Method Summary collapse

Instance Method Details

#call(env) ⇒ Object



7
8
9
10
# File 'lib/capybara/webmock/proxy.rb', line 7

def call(env)
  @streaming = true
  super
end

#perform_request(env) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/capybara/webmock/proxy.rb', line 12

def perform_request(env)
  request = Rack::Request.new(env)

  if allowed_host?(request.host)
    super(env)
  else
    headers = {
      'Content-Type' => 'text/html',
      'Access-Control-Allow-Origin' => '*',
      'Access-Control-Allow-Methods' => '*',
      'Access-Control-Allow-Headers' => '*'
    }
    ['200', headers, ['']]
  end
end