Module: Selenium::EmulatedFeatures::ResponseHeaders

Included in:
WebDriver::Driver
Defined in:
lib/selenium/emulated_features/response_headers.rb

Instance Method Summary collapse

Instance Method Details

#response_headersObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/selenium/emulated_features/response_headers.rb', line 4

def response_headers
  dom_string = execute_script <<-js
    if(document.SEF && document.SEF.request) {
      return document.SEF.request.getAllResponseHeaders();
    }

    document.SEF = {}
    document.SEF.request = new XMLHttpRequest();

    document.SEF.request.open("GET", document.location, false);
    document.SEF.request.send(null);
    return document.SEF.request.getAllResponseHeaders();
  js

  dom_string.split("\n").inject({}) do |headers, line|
    field, value = line.split(": ")
    headers.merge({ field => [value.strip] })
  end
end