diff --git a/lib/geocoder/exceptions.rb b/lib/geocoder/exceptions.rb index 7f6a081c2c32a9f3f74c1334c0e7e24732e1479f..f01d7dd7f1c8ee2f5ff5567ea8249eaeda040b13 100644 --- a/lib/geocoder/exceptions.rb +++ b/lib/geocoder/exceptions.rb @@ -29,4 +29,7 @@ module Geocoder class ServiceUnavailable < Error end + class LookupTimeout < ::Timeout::Error + end + end diff --git a/lib/geocoder/lookups/base.rb b/lib/geocoder/lookups/base.rb index c54c5c60224f0f679d9274b8148183c914f6cde3..1f005ab7f76bb2cd9557a5b05da5f039d7bcbbd9 100644 --- a/lib/geocoder/lookups/base.rb +++ b/lib/geocoder/lookups/base.rb @@ -274,6 +274,8 @@ module Geocoder end client.request(req) end + rescue Net::OpenTimeout, Net::ReadTimeout + raise Geocoder::LookupTimeout end def use_ssl?