Class: Capybara::Webmock::Proxy
- Inherits:
-
Rack::Proxy
- Object
- Rack::Proxy
- Capybara::Webmock::Proxy
- Defined in:
- lib/capybara/webmock/proxy.rb
Constant Summary collapse
- PID_FILE =
File.join('tmp', 'pids', 'capybara_webmock_proxy.pid')
Class Method Summary collapse
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(pid) ⇒ Proxy
constructor
A new instance of Proxy.
- #perform_request(env) ⇒ Object
- #rewrite_response(triplet) ⇒ Object
Constructor Details
#initialize(pid) ⇒ Proxy
Returns a new instance of Proxy.
7 8 9 10 |
# File 'lib/capybara/webmock/proxy.rb', line 7 def initialize(pid) write_pid(pid) ensure_log_exists end |
Class Method Details
.remove_pid ⇒ Object
28 29 30 |
# File 'lib/capybara/webmock/proxy.rb', line 28 def self.remove_pid File.delete(PID_FILE) if File.exist?(PID_FILE) end |
Instance Method Details
#call(env) ⇒ Object
12 13 14 15 |
# File 'lib/capybara/webmock/proxy.rb', line 12 def call(env) @streaming = true super end |
#perform_request(env) ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/capybara/webmock/proxy.rb', line 17 def perform_request(env) request = Rack::Request.new(env) allowed_urls = ['127.0.0.1', 'localhost', %r{(.*\.|\A)lvh.me}] if allowed_url?(allowed_urls, request.host) super(env) else ['200', {'Content-Type' => 'text/html'}, ['']] end end |
#rewrite_response(triplet) ⇒ Object
32 33 34 35 36 |
# File 'lib/capybara/webmock/proxy.rb', line 32 def rewrite_response(triplet) status, headers, body = triplet headers.delete "transfer-encoding" triplet end |