diff options
author | Seb Bacon <seb.bacon@gmail.com> | 2012-05-02 15:15:05 +0100 |
---|---|---|
committer | Seb Bacon <seb.bacon@gmail.com> | 2012-05-02 15:15:05 +0100 |
commit | d6a5e30665c9642b5d9977e1caf7f4f8a32f8b84 (patch) | |
tree | af4693ac9f8d878f3d6c83ede5b8c59e43147b13 /lib | |
parent | a7073881fed6ec3f46841da96380d4b5643393a2 (diff) | |
parent | 2a1e80d1917e26caf13a20c199f5333be51caac0 (diff) |
Merge branch 'purge-requests' into develop
Diffstat (limited to 'lib')
-rw-r--r-- | lib/quiet_opener.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/quiet_opener.rb b/lib/quiet_opener.rb new file mode 100644 index 000000000..a077ca323 --- /dev/null +++ b/lib/quiet_opener.rb @@ -0,0 +1,34 @@ +require 'open-uri' +require 'net-purge' + +def quietly_try_to_open(url) + begin + result = open(url).read.strip + rescue OpenURI::HTTPError, SocketError, Errno::ETIMEDOUT, Errno::ECONNREFUSED, Errno::EHOSTUNREACH + logger.warn("Unable to open third-party URL #{url}") + result = "" + end + return result +end + +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 + } + rescue OpenURI::HTTPError, SocketError, Errno::ETIMEDOUT, Errno::ECONNREFUSED, Errno::EHOSTUNREACH + logger.warn("Unable to reach host #{host}") + end + if result == "200" + logger.info("Purged URL #{url} at #{host}: #{result}") + else + logger.warn("Unable to purge URL #{url} at #{host}: status #{result}") + end + return result +end + |