lib/marlowe/rails.rb in marlowe-1.0.3 vs lib/marlowe/rails.rb in marlowe-2.0

- old
+ new

@@ -1,12 +1,29 @@ +# frozen_string_literal: true + module Marlowe - class Railtie < Rails::Railtie + class Railtie < Rails::Railtie # :nodoc: initializer 'marlowe.configure_rails_initialization' do - app.middleware.insert_before Rails::Rack::Logger, Marlowe::Middleware, correlation_header: Rails.application.config.try(:marlowe_correlation_header) + config = app.config + + opts = { + header: config.try(:marlowe_header) || config.try(:marlowe_correlation_header), + handler: config.try(:marlowe_request_id_handler), + return: config.try(:marlowe_return_request_id), + action_dispatch: config.try(:marlowe_replace_action_dispatch_request_id) + }.compact + + if opts[:action_dispatch] + app.middleware.insert_before ActionDispatch::RequestId, + Marlowe::Middleware, opts + app.middleware.delete ActionDispatch::RequestId + else + app.middleware.insert_before Rails::Rack::Logger, Marlowe::Middleware, + opts + end end - #:nodoc: - def app + def app #:nodoc: Rails.application end end end