Просмотр исходного кода

Added new UserAgent lib to handle ftp/http/https calls.

Martin Edenhofer 11 лет назад
Родитель
Сommit
4aed3e544e
2 измененных файлов с 7 добавлено и 13 удалено
  1. 4 4
      lib/geo_location/gmaps.rb
  2. 3 9
      lib/rss.rb

+ 4 - 4
lib/geo_location/gmaps.rb

@@ -4,8 +4,8 @@ class GeoLocation::Gmaps
 
   def self.geocode(address)
     url = "http://maps.googleapis.com/maps/api/geocode/json?address=#{CGI::escape address}&sensor=true"
-    response = Net::HTTP.get_response( URI.parse(url) )
-    return if ! response.kind_of? Net::HTTPSuccess
+    response = UserAgent.request(url)
+    return if !response.success?
 
     result = JSON.parse( response.body )
 
@@ -16,8 +16,8 @@ class GeoLocation::Gmaps
 
   def self.reverse_geocode(lat,lng)
     url = "http://maps.googleapis.com/maps/api/geocode/json?latlng=#{lat},#{lng}&sensor=true"
-    response = Net::HTTP.get_response( URI.parse(url) )
-    return if ! response.kind_of? Net::HTTPSuccess
+    response = UserAgent.request(url)
+    return if !response.success?
 
     result = JSON.parse( response.body )
 

+ 3 - 9
lib/rss.rb

@@ -7,14 +7,8 @@ module Rss
 
     begin
       puts 'fetch rss...'
-      response = Net::HTTP.get_response( URI.parse(url) )
-
-      # check if redirect is needed
-      if response.kind_of? Net::HTTPRedirection 
-        url = response.header['location']
-        response = Net::HTTP.get_response( URI.parse( url ) )
-      end
-      if ! response.kind_of? Net::HTTPSuccess
+      response = UserAgent.request(url)
+      if !response.success?
         raise "Can't fetch '#{url}', http code: #{response.code.to_s}"
         return
       end
@@ -42,4 +36,4 @@ module Rss
 
     return items
   end
-end
+end