class Ferrum::Headers
Public Class Methods
new(page)
click to toggle source
# File lib/ferrum/headers.rb, line 5 def initialize(page) @page = page @headers = {} end
Public Instance Methods
add(headers, permanent: true)
click to toggle source
# File lib/ferrum/headers.rb, line 24 def add(headers, permanent: true) if headers["Referer"] @page.referrer = headers["Referer"] headers.delete("Referer") unless permanent end @headers.merge!(headers) user_agent = @headers["User-Agent"] accept_language = @headers["Accept-Language"] set_overrides(user_agent: user_agent, accept_language: accept_language) @page.command("Network.setExtraHTTPHeaders", headers: @headers) true end
clear()
click to toggle source
# File lib/ferrum/headers.rb, line 19 def clear @headers = {} true end
get()
click to toggle source
# File lib/ferrum/headers.rb, line 10 def get @headers end
set(headers)
click to toggle source
# File lib/ferrum/headers.rb, line 14 def set(headers) clear add(headers) end
Private Instance Methods
set_overrides(user_agent: nil, accept_language: nil, platform: nil)
click to toggle source
# File lib/ferrum/headers.rb, line 41 def set_overrides(user_agent: nil, accept_language: nil, platform: nil) options = Hash.new options[:userAgent] = user_agent || @page.browser.default_user_agent options[:acceptLanguage] = accept_language if accept_language options[:platform] if platform @page.command("Network.setUserAgentOverride", **options) if !options.empty? end