class Sunbro::Connection
Constants
- MAX_RETRIES
Attributes
dhttp[R]
http[R]
Public Instance Methods
close()
click to toggle source
# File lib/sunbro/connection.rb, line 33 def close @http.try(:close) @dhttp.try(:close) rescue IOError end
fetch_page(link, opts={})
click to toggle source
# File lib/sunbro/connection.rb, line 7 def fetch_page(link, opts={}) conn = opts[:force_format] == (:dhtml || 'dhtml') ? dhttp : http tries = opts[:tries] || MAX_RETRIES sleep_interval = opts[:sleep] || 1 page = Retryable.retryable(sleep: sleep_interval, tries: tries) do web_retry(opts) do conn.fetch_page(link, opts) end end page.discard_doc! unless page.valid? page end
session()
click to toggle source
# File lib/sunbro/connection.rb, line 21 def session @dhttp.try(:session) end
web_retry(opts) { || ... }
click to toggle source
# File lib/sunbro/connection.rb, line 39 def web_retry(opts) page, tries, sleep_interval = nil, opts[:tries], opts[:sleep] begin page = yield sleep(sleep_interval) unless page.valid? end until page.valid? || (tries -= 1).zero? page end