diff --git a/app/controllers/users/sessions_controller.rb b/app/controllers/users/sessions_controller.rb index ec33cdf6f85..f10861b521c 100644 --- a/app/controllers/users/sessions_controller.rb +++ b/app/controllers/users/sessions_controller.rb @@ -53,14 +53,12 @@ def destroy end def active - response.headers['Etag'] = '' # clear etags to prevent caching session[:pinged_at] = now Rails.logger.debug(alive?: alive?, expires_at: expires_at) render json: { live: alive?, timeout: expires_at, remaining: remaining_session_time } end def keepalive - response.headers['Etag'] = '' # clear etags to prevent caching session[:session_expires_at] = now + Devise.timeout_in if alive? analytics.session_kept_alive if alive? diff --git a/config/application.rb b/config/application.rb index 4d94003cd76..e21996ebbcf 100644 --- a/config/application.rb +++ b/config/application.rb @@ -105,6 +105,8 @@ class Application < Rails::Application } config.action_mailer.observers = %w[EmailDeliveryObserver] + config.middleware.delete Rack::ETag + require 'headers_filter' config.middleware.insert_before 0, HeadersFilter require 'utf8_sanitizer' diff --git a/spec/controllers/users/sessions_controller_spec.rb b/spec/controllers/users/sessions_controller_spec.rb index 90c9523a959..c090c1d0832 100644 --- a/spec/controllers/users/sessions_controller_spec.rb +++ b/spec/controllers/users/sessions_controller_spec.rb @@ -26,12 +26,6 @@ expect(response.status).to eq(200) end - it 'clears the Etag header' do - get :active - - expect(response.headers['Etag']).to eq '' - end - it 'renders json' do get :active @@ -675,12 +669,6 @@ expect(response.status).to eq(200) end - it 'clears the Etag header' do - post :keepalive - - expect(response.headers['Etag']).to eq '' - end - it 'renders json' do post :keepalive