diff options
author | Robin Houston <robin.houston@gmail.com> | 2012-05-03 18:57:51 +0100 |
---|---|---|
committer | Robin Houston <robin.houston@gmail.com> | 2012-05-03 18:57:51 +0100 |
commit | 20324887036cccc940e1d68fe8c99864b5b634bd (patch) | |
tree | e8968ddf336b65d40d295421d19091f061d940ca /lib | |
parent | c86325840e2204daea36e68fac045a215a26eafe (diff) | |
parent | 858898510fe77550ac6550a6b306b5c7a2b93d31 (diff) |
Merge branch 'develop' of github.com:sebbacon/alaveteli 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 + |