Remove custom read/writer routing

This commit is contained in:
Kevin McConnell
2025-11-10 12:18:20 +00:00
committed by Mike Dalessio
parent ea64ba6f9e
commit dc40d2b5b0
2 changed files with 1 additions and 40 deletions
+1 -1
View File
@@ -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
@@ -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