From 475e86d59ef25a2f79c3ede58da32e513263d831 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Mon, 4 Sep 2017 20:42:22 +0800 Subject: [PATCH] WORKAROUND: Can't reinsert a deleted middleware. --- config/initializers/200-message_bus_request_tracker.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/config/initializers/200-message_bus_request_tracker.rb b/config/initializers/200-message_bus_request_tracker.rb index 7f66c97ef64..dd58419e15d 100644 --- a/config/initializers/200-message_bus_request_tracker.rb +++ b/config/initializers/200-message_bus_request_tracker.rb @@ -1,8 +1,13 @@ # we want MesageBus in the absolute front # this is important cause the vast majority of web requests go to it # this allows us to avoid full middleware crawls each time -Rails.configuration.middleware.delete MessageBus::Rack::Middleware -Rails.configuration.middleware.unshift MessageBus::Rack::Middleware +# Pending https://github.com/rails/rails/pull/27936 +session_operations = Rails::Configuration::MiddlewareStackProxy.new([ + [:delete, MessageBus::Rack::Middleware], + [:unshift, MessageBus::Rack::Middleware], +]) + +Rails.configuration.middleware = Rails.configuration.middleware + session_operations # no reason to track this in development, that is 300+ redis calls saved per # page view (we serve all assets out of thin in development)