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