Class: Selenium::WebDriver::ClientConfig
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | rb/lib/selenium/webdriver/common/client_config.rb |
Overview
Configuration for HTTP clients.
Class Attribute Summary
Class Method Summary
Instance Attribute Summary
- #extra_headers rw
- #extra_headers=(value) rw
- #max_redirects rw
- #open_timeout rw
- #proxy rw
- #read_timeout rw
- #server_url rw
- #server_url=(url) rw
- #user_agent rw
- #user_agent=(value) rw
Instance Method Summary
- #proxy_from_environment private
Constructor Details
.new(open_timeout: 60, read_timeout: 120, max_redirects: 20, proxy: nil, extra_headers: nil, user_agent: nil, server_url: nil) ⇒ ClientConfig
# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 51
def initialize(open_timeout: 60, read_timeout: 120, max_redirects: 20, proxy: nil, extra_headers: nil, user_agent: nil, server_url: nil) @open_timeout = open_timeout @read_timeout = read_timeout @max_redirects = max_redirects @proxy = proxy || proxy_from_environment @extra_headers = extra_headers @user_agent = user_agent self.server_url = server_url end
Class Attribute Details
.default_extra_headers (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 30
attr_accessor :default_extra_headers
.default_user_agent (rw)
[ GitHub ].default_user_agent=(value) (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 31
attr_writer :default_user_agent
Instance Attribute Details
#extra_headers (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 71
def extra_headers @extra_headers || self.class.default_extra_headers end
#extra_headers=(value) (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 39
attr_writer :extra_headers, :user_agent
#max_redirects (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 38
attr_accessor :open_timeout, :read_timeout, :max_redirects, :proxy
#open_timeout (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 38
attr_accessor :open_timeout, :read_timeout, :max_redirects, :proxy
#proxy (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 38
attr_accessor :open_timeout, :read_timeout, :max_redirects, :proxy
#read_timeout (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 38
attr_accessor :open_timeout, :read_timeout, :max_redirects, :proxy
#server_url (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 40
attr_reader :server_url
#server_url=(url) (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 75
def server_url=(url) if url.nil? @server_url = nil else url = url.to_s url += '/' unless url.end_with?('/') @server_url = URI.parse(url) end end
#user_agent (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 67
def user_agent @user_agent || self.class.default_user_agent end
#user_agent=(value) (rw)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 39
attr_writer :extra_headers, :user_agent
Instance Method Details
#proxy_from_environment (private)
[ GitHub ]# File 'rb/lib/selenium/webdriver/common/client_config.rb', line 87
def proxy_from_environment proxy = ENV.fetch('http_proxy', nil) || ENV.fetch('HTTP_PROXY', nil) return unless proxy no_proxy = ENV.fetch('no_proxy', nil) || ENV.fetch('NO_PROXY', nil) proxy = "http://#{proxy}" unless proxy.match?(%r{\Ahttps?://}) Proxy.new(http: proxy, no_proxy: no_proxy) end