class Playwright::RouteHandler
def self.prepare_interception_patterns(handlers)
def self.prepare_interception_patterns(handlers) handlers.map(&:as_pattern).compact end
def as_pattern
def as_pattern @url_matcher.as_pattern end
def async_handle(route)
def async_handle(route) @counter.increment Concurrent::Promises.future { @handler.call(route, route.request) }.rescue do |err| puts err, err.backtrace end end
def expired?
def expired? @counter.expired? end
def initialize(url, base_url, handler, times)
-
times
(Integer|nil
) -- -
handler
(Proc
) -- -
base_url
(String|nil
) -- -
url
(String
) --
def initialize(url, base_url, handler, times) @url_value = url @url_matcher = UrlMatcher.new(url, base_url: base_url) @handler = handler @counter = if times CountDown.new(times) else StubCounter.new end end
def match?(url)
def match?(url) @url_matcher.match?(url) end
def same_value?(url:, handler: nil)
def same_value?(url:, handler: nil) if handler @url_value == url && @handler == handler else @url_value == url end end