Fix ActionCable load error due to custom inflection for middleware

This commit is contained in:
Sebastian Serth
2023-08-16 17:07:50 +02:00
parent 92cebbe4f1
commit 3b4fc0a5ec
3 changed files with 1 additions and 2 deletions

View File

@ -0,0 +1,27 @@
# frozen_string_literal: true
module Middleware
class WebSocketSentryHeaders
def initialize(app)
@app = app
end
def call(env)
request = Rack::Request.new(env)
extract_sentry_parameters(request) if websocket_upgrade?(request)
@app.call(env)
end
private
def websocket_upgrade?(request)
request.has_header?('HTTP_SEC_WEBSOCKET_VERSION')
end
def extract_sentry_parameters(request)
%w[HTTP_SENTRY_TRACE HTTP_BAGGAGE].each do |param|
request.add_header(param, request.delete_param(param))
end
end
end
end