diff options
author | Fire Demon <firedemon@creature.cafe> | 2020-11-24 12:27:15 -0600 |
---|---|---|
committer | Fire Demon <firedemon@creature.cafe> | 2020-11-24 12:27:15 -0600 |
commit | 69fa4f7d4f3c435018c1e7cb9e6a0fcb5b233695 (patch) | |
tree | ffbd8bc1e5c820fce33624874088863c43460299 /app/lib | |
parent | 90b33ab8af91991217cdce3e2d9163756e58a691 (diff) | |
parent | 24696458bf22c8529b49f89b2791e3e07583b7e0 (diff) |
Merge remote-tracking branch 'upstream/master' into merge-glitch
Diffstat (limited to 'app/lib')
-rw-r--r-- | app/lib/activitypub/activity/delete.rb | 2 | ||||
-rw-r--r-- | app/lib/cache_buster.rb | 28 |
2 files changed, 29 insertions, 1 deletions
diff --git a/app/lib/activitypub/activity/delete.rb b/app/lib/activitypub/activity/delete.rb index ab2c34cfd..71852b379 100644 --- a/app/lib/activitypub/activity/delete.rb +++ b/app/lib/activitypub/activity/delete.rb @@ -13,7 +13,7 @@ class ActivityPub::Activity::Delete < ActivityPub::Activity def delete_person lock_or_return("delete_in_progress:#{@account.id}") do - DeleteAccountService.new.call(@account, reserve_username: false) + DeleteAccountService.new.call(@account, reserve_username: false, skip_activitypub: true) end end diff --git a/app/lib/cache_buster.rb b/app/lib/cache_buster.rb new file mode 100644 index 000000000..035611518 --- /dev/null +++ b/app/lib/cache_buster.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +class CacheBuster + def initialize(options = {}) + @secret_header = options[:secret_header] || 'Secret-Header' + @secret = options[:secret] || 'True' + end + + def bust(url) + site = Addressable::URI.parse(url).normalized_site + + request_pool.with(site) do |http_client| + build_request(url, http_client).perform + end + end + + private + + def request_pool + RequestPool.current + end + + def build_request(url, http_client) + Request.new(:get, url, http_client: http_client).tap do |request| + request.add_headers(@secret_header => @secret) + end + end +end |