Add a global timeout that is applied to most API requests.
[rails.git] / lib / osm.rb
index 2745762064c5f342d67d8a13d6146df3a65786c1..f3a625c4eba61b90aef57ccb198a62d7fe96a959 100644 (file)
@@ -197,6 +197,18 @@ module OSM
     end
   end
 
+  ##
+  # raised when an API call takes too long
+  class APITimeoutError < APIError
+    def render_opts
+      { :text => "Request timed out", :status => :request_timeout }
+    end
+
+    def to_s
+      "Request timed out"
+    end
+  end
+
   # Helper methods for going to/from mercator and lat/lng.
   class Mercator
     include Math