module Selenium::EmulatedFeatures::ResponseHeaders
Public Instance Methods
response_headers()
click to toggle source
# File lib/selenium/emulated_features/response_headers.rb, line 4 def response_headers dom_str = execute_script <<-js if(document.__SEF__ && document.__SEF__.request) { return document.__SEF__.request.getAllResponseHeaders(); } var baseURI = document.baseURI; /* Firefox */ if (/about:neterror/.test(baseURI)) return null; /* Safari */ if (/Safari.app/.test(baseURI)) return null; /* Chrome */ if (/chromewebdata/.test(baseURI)) return null; 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 return nil unless dom_str dom_str.split("\n").inject({}) do |headers, line| field, value = line.split(": ") headers.merge({ field.downcase => [value.strip] }) end rescue nil end