class Capybara::Server::Middleware

Attributes

error[RW]

Public Class Methods

new(app) click to toggle source
# File lib/capybara/server.rb, line 28
def initialize(app)
  @app = app
  @counter = Counter.new
end

Public Instance Methods

call(env) click to toggle source
# File lib/capybara/server.rb, line 37
def call(env)
  if env["PATH_INFO"] == "/__identify__"
    [200, {}, [@app.object_id.to_s]]
  else
    @counter.increment
    begin
      @app.call(env)
    rescue *Capybara.server_errors => e
      @error = e unless @error
      raise e
    ensure
      @counter.decrement
    end
  end
end
pending_requests?() click to toggle source
# File lib/capybara/server.rb, line 33
def pending_requests?
  @counter.value > 0
end