Remove custom read/writer routing
This commit is contained in:
committed by
Mike Dalessio
parent
ea64ba6f9e
commit
dc40d2b5b0
@@ -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
|
||||
Reference in New Issue
Block a user