diff options
-rw-r--r-- | Gemfile | 1 | ||||
-rw-r--r-- | Gemfile.lock | 2 | ||||
-rw-r--r-- | lib/quiet_opener.rb | 14 |
3 files changed, 11 insertions, 6 deletions
@@ -17,6 +17,7 @@ gem 'json', '~> 1.5.1' gem 'mahoro' gem 'memcache-client', :require => 'memcache' gem 'locale', '>= 2.0.5' +gem 'net-http-local' gem 'net-purge' gem 'rack', '~> 1.1.0' gem 'rdoc', '~> 2.4.3' diff --git a/Gemfile.lock b/Gemfile.lock index 695baae02..f17e72d33 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -30,6 +30,7 @@ GEM locale (2.0.5) mahoro (0.3) memcache-client (1.8.5) + net-http-local (0.1.2) net-purge (0.1.0) pg (0.11.0) rack (1.1.0) @@ -79,6 +80,7 @@ DEPENDENCIES locale (>= 2.0.5) mahoro memcache-client + net-http-local net-purge pg rack (~> 1.1.0) diff --git a/lib/quiet_opener.rb b/lib/quiet_opener.rb index 11adfe402..2f78f76ad 100644 --- a/lib/quiet_opener.rb +++ b/lib/quiet_opener.rb @@ -15,12 +15,14 @@ def quietly_try_to_purge(host, url) begin result = "" result_body = "" - Net::HTTP.start(host) {|http| - request = Net::HTTP::Purge.new(url) - response = http.request(request) - result = response.code - result_body = response.body - } + Net::HTTP.bind '127.0.0.1' do + Net::HTTP.start(host) {|http| + request = Net::HTTP::Purge.new(url) + response = http.request(request) + result = response.code + result_body = response.body + } + end rescue OpenURI::HTTPError, SocketError, Errno::ETIMEDOUT, Errno::ECONNREFUSED, Errno::EHOSTUNREACH Rails.logger.warn("Unable to reach host #{host}") end |