From 2a451e1eecc044d27aba18ed1ae3a2775cfd08e7 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Sat, 28 Nov 2015 02:45:54 -0800 Subject: [PATCH] cache purge: retry once with URI.encode --- workers/purge_cache_worker.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/workers/purge_cache_worker.rb b/workers/purge_cache_worker.rb index ae22ccc1..1ce5a260 100644 --- a/workers/purge_cache_worker.rb +++ b/workers/purge_cache_worker.rb @@ -18,11 +18,19 @@ class PurgeCacheWorker "http://#{proxy_ip}#{path}", Addressable::URI::CharacterClasses::QUERY ) + + retry_encoded = false + begin RestClient::Request.execute method: :head, url: url, timeout: HTTP_TIMEOUT, headers: { host: URI::encode("#{username}.neocities.org"), cache_purge: '1' } + rescue URI::InvalidURIError + raise if retry_encoded == true + url = URI.encode url + retry_encoded = true + retry rescue RestClient::ResourceNotFound rescue RestClient::Forbidden end