From 83a3cb5ce69ebf1433113c5f46ecae6401f3db39 Mon Sep 17 00:00:00 2001 From: Andrew Kane <acekane1@gmail.com> Date: Sun, 26 Jul 2015 23:35:39 -0700 Subject: [PATCH] Safer timeouts --- lib/geocoder/lookups/base.rb | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/lib/geocoder/lookups/base.rb b/lib/geocoder/lookups/base.rb index 7a65d66a..c54c5c60 100644 --- a/lib/geocoder/lookups/base.rb +++ b/lib/geocoder/lookups/base.rb @@ -263,18 +263,16 @@ module Geocoder # return the response object. # def make_api_request(query) - timeout(configuration.timeout) do - uri = URI.parse(query_url(query)) - http_client.start(uri.host, uri.port, use_ssl: use_ssl?) do |client| - req = Net::HTTP::Get.new(uri.request_uri, configuration.http_headers) - if configuration.basic_auth[:user] and configuration.basic_auth[:password] - req.basic_auth( - configuration.basic_auth[:user], - configuration.basic_auth[:password] - ) - end - client.request(req) + uri = URI.parse(query_url(query)) + http_client.start(uri.host, uri.port, use_ssl: use_ssl?, open_timeout: configuration.timeout, read_timeout: configuration.timeout) do |client| + req = Net::HTTP::Get.new(uri.request_uri, configuration.http_headers) + if configuration.basic_auth[:user] and configuration.basic_auth[:password] + req.basic_auth( + configuration.basic_auth[:user], + configuration.basic_auth[:password] + ) end + client.request(req) end end -- GitLab