lib/pagespeed/request.rb in pagespeed-0.0.1 vs lib/pagespeed/request.rb in pagespeed-0.1.0
- old
+ new
@@ -2,50 +2,51 @@
require 'uri'
module PageSpeed
class Request
PAGESPEED_API_URL = 'https://www.googleapis.com/pagespeedonline/v1/runPagespeed'
-
+
attr_accessor :url, :api_key
-
- def initialize(url, api_key)
+
+ def initialize(url, api_key, strategy)
@url = url =~ /^https?:\/\// ? url : ('http://' + url )
@api_key = api_key
+ @strategy = strategy
@uri = build_request_uri
end
-
+
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.message
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
-
+
def status_error(response)
puts "#{response.code}"
exit
end
-
+
private
-
+
def build_request_uri
uri = URI.parse(PAGESPEED_API_URL)
- uri.query = "url=#{@url}&key=#{@api_key}"
+ uri.query = "url=#{@url}&strategy=#{@strategy}&key=#{@api_key}"
uri
end
-
+
end
-end
\ No newline at end of file
+end