Class: PageSpeed::Request
- Inherits:
-
Object
- Object
- PageSpeed::Request
- Defined in:
- lib/pagespeed/request.rb
Constant Summary collapse
- PAGESPEED_API_URL =
'https://www.googleapis.com/pagespeedonline/v1/runPagespeed'
Instance Attribute Summary collapse
-
#api_key ⇒ Object
Returns the value of attribute api_key.
-
#url ⇒ Object
Returns the value of attribute url.
Instance Method Summary collapse
-
#initialize(url, api_key, strategy) ⇒ Request
constructor
A new instance of Request.
- #pagespeed ⇒ Object
- #status_error(response) ⇒ Object
Constructor Details
#initialize(url, api_key, strategy) ⇒ Request
Returns a new instance of Request.
10 11 12 13 14 15 |
# File 'lib/pagespeed/request.rb', line 10 def initialize(url, api_key, strategy) @url = url =~ /^https?:\/\// ? url : ('http://' + url ) @api_key = api_key @strategy = strategy @uri = build_request_uri end |
Instance Attribute Details
#api_key ⇒ Object
Returns the value of attribute api_key.
8 9 10 |
# File 'lib/pagespeed/request.rb', line 8 def api_key @api_key end |
#url ⇒ Object
Returns the value of attribute url.
8 9 10 |
# File 'lib/pagespeed/request.rb', line 8 def url @url end |
Instance Method Details
#pagespeed ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/pagespeed/request.rb', line 17 def pagespeed http = Net::HTTP.new(@uri.host, @uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(@uri.request_uri) response = http.request(request) if response.code.to_i == 200 PageSpeed::Parser.parse(response.body) else status_error(response) end rescue Exception => e puts e. puts e.backtrace.join("\n") puts "\033[31mUh oh, didn't work. Maybe the host is down or the url is wrong... or perhaps google is down :(" exit end |
#status_error(response) ⇒ Object
38 39 40 41 |
# File 'lib/pagespeed/request.rb', line 38 def status_error(response) puts "#{response.code}" exit end |