Skip to content

Commit 7ca51c1

Browse files
Move middleware up, right after ActionDispatch::Executor
1 parent 5bdd6e5 commit 7ca51c1

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

lib/debugbar/engine.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class Engine < ::Rails::Engine
3737

3838
initializer 'debugbar.inject_middlewares' do |app|
3939
next unless Debugbar.config.enabled?
40-
app.middleware.insert_after ActionDispatch::RequestId, Debugbar::TrackCurrentRequest
40+
app.middleware.insert_after ActionDispatch::Executor, Debugbar::TrackCurrentRequest
4141
end
4242

4343
initializer 'debugbar.subscribe' do

lib/debugbar/middlewares/track_current_request.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,15 @@ def call(env)
99

1010
return @app.call(env) if Debugbar::Current.ignore?
1111

12-
Debugbar::Current.new_request!(env['action_dispatch.request_id'])
12+
Debugbar::Current.new_request!(SecureRandom.uuid)
1313

1414
res = @app.call(env)
1515

1616
# TODO: Remove this if statement?
17-
if Debugbar::Current.request&.id
17+
# We check meta because the frontend doesn't support request without meta yet.
18+
# It might happen with ActionController::Live where the following code
19+
# will run BEFORE ActionControllerEventSubscriber.process_action is called
20+
if Debugbar::Current.request&.meta
1821
# filename = "#{Time.now.to_i}--#{Debugbar::Current.request.meta.dig(:params, :controller)}_#{Debugbar::Current.request.meta.dig(:params, :action).gsub('/', '_')}.json"
1922
# File.open(Rails.root.join('_requests', filename), "w") do |f|
2023
# f.write(Debugbar::Current.request.to_json)

0 commit comments

Comments
 (0)