Sha256: e5034b960f392f655d3f36420cfeb7c367b98901056d1331bc193a42610e9283
Contents?: true
Size: 1.6 KB
Versions: 2
Compression:
Stored size: 1.6 KB
Contents
require "net/http" module Selenium module WebDriver module Remote module Http # @private class Default < Common private def http # ignoring SSL for now @http ||= ( http = Net::HTTP.new @server_url.host, @server_url.port if self.class.timeout http.connect_timeout = self.class.timeout http.read_timeout = self.class.timeout end http ) end def request(verb, url, headers, payload, redirects = 0) request = new_request_for(verb, url, headers) retried = false begin response = http.request(request, payload) rescue Errno::ECONNABORTED, Errno::ECONNRESET # this happens sometimes on windows?! raise if retried request = new_request_for(verb, url, headers) retried = true retry end if response.kind_of? Net::HTTPRedirection raise Error::WebDriverError, "too many redirects" if redirects >= MAX_REDIRECTS request(:get, URI.parse(response['Location']), DEFAULT_HEADERS.dup, nil, redirects + 1) else create_response response.code, response.body, response.content_type end end def new_request_for(verb, url, headers) Net::HTTP.const_get(verb.to_s.capitalize).new(url.path, headers) end end # Default end # Http end # Remote end # WebDriver end # Selenium
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
selenium-webdriver-0.0.24 | remote/client/src/rb/lib/selenium/webdriver/remote/http/default.rb |
selenium-webdriver-0.0.23 | remote/client/src/rb/lib/selenium/webdriver/remote/http/default.rb |