diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 235b9c2a0..f27627150 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,10 +1,10 @@ class ApplicationController < ActionController::Base - include LoadBalancerRouting, WriterAffinity include Authentication include Authorization include CurrentRequest, CurrentTimezone, SetPlatform include TurboFlash, ViewTransitions include Saas + include WriterAffinity stale_when_importmap_changes allow_browser versions: :modern diff --git a/app/controllers/concerns/load_balancer_routing.rb b/app/controllers/concerns/load_balancer_routing.rb deleted file mode 100644 index 5ddc1cfa9..000000000 --- a/app/controllers/concerns/load_balancer_routing.rb +++ /dev/null @@ -1,39 +0,0 @@ -module LoadBalancerRouting - extend ActiveSupport::Concern - - ALLOWED_PRAGMAS = %w[ beamer_primary beamer_last_txn ] - - included do - before_action :set_target_header, :set_writer_header - after_action :set_transaction_cookie - end - - private - def set_target_header - response.headers["X-Kamal-Target"] = request.headers["X-Kamal-Target"] - end - - def set_writer_header - if ApplicationRecord.current_tenant.present? - response.headers["X-Writer"] = pragma("beamer_primary") - end - end - - def set_transaction_cookie - unless safe_request? - if ApplicationRecord.current_tenant.present? && Account.sole.present? - cookies[:last_transaction] = { value: pragma("beamer_last_txn"), path: Account.sole.slug } - end - end - end - - def pragma(name) - if ALLOWED_PRAGMAS.include?(name) - ApplicationRecord.connection.execute("pragma #{name}").first&.values&.first - end - end - - def safe_request? - request.get? || request.head? - end -end