From ea3908535a832c80adfb251527609aa75e982f6d Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 29 Sep 2015 14:36:32 -0700 Subject: call `default_middleware_stack` before merging stacks `default_middleware_stack` seems to kick off the `on_load` calls that may mutate the middleware stack. We have to call that method before merging middleware stacks, otherwise the middleware stacks get mutated *after* the app middleware stack is built. --- railties/lib/rails/engine.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'railties/lib/rails') diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb index 457a50e649..a9d98a9d92 100644 --- a/railties/lib/rails/engine.rb +++ b/railties/lib/rails/engine.rb @@ -508,7 +508,8 @@ module Rails def app @app || @app_build_lock.synchronize { @app ||= begin - config.middleware = build_middleware.merge_into(default_middleware_stack) + stack = default_middleware_stack + config.middleware = build_middleware.merge_into(stack) config.middleware.build(endpoint) end } -- cgit v1.2.3