From 4552cda15a502b81015771a29caf4d09ab18ecbd Mon Sep 17 00:00:00 2001 From: Hugo Gameiro Date: Thu, 12 Mar 2026 10:15:49 +0000 Subject: [PATCH] Fix OpenStack Swift Keystone token rate limiting (#38145) --- config/initializers/fog_connection_cache.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 config/initializers/fog_connection_cache.rb diff --git a/config/initializers/fog_connection_cache.rb b/config/initializers/fog_connection_cache.rb new file mode 100644 index 0000000000..c9cf310d83 --- /dev/null +++ b/config/initializers/fog_connection_cache.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +if ENV['SWIFT_ENABLED'] == 'true' + module PaperclipFogConnectionCache + def connection + @connection ||= begin + key = fog_credentials.hash + Thread.current[:paperclip_fog_connections] ||= {} + Thread.current[:paperclip_fog_connections][key] ||= ::Fog::Storage.new(fog_credentials) + end + end + end + + Rails.application.config.after_initialize do + Paperclip::Storage::Fog.prepend(PaperclipFogConnectionCache) + end +end