Sha256: e7facc8b8464c80ab342727aa32f470147e01c6625469f4c14cb4a4ec5d154af

Contents?: true

Size: 1.09 KB

Versions: 3

Compression:

Stored size: 1.09 KB

Contents

require_relative "plugins/exception_handler"
require_relative "plugins/environment_reporter"
require_relative "plugins/gems_tracker"
require_relative "plugins/http_finisher"
require_relative "plugins/http_tracker"
require_relative "plugins/warden"

module Immunio
  class Engine < ::Rails::Engine
    Immunio::Plugin.load 'Middlewares' do |plugin|
      config.app_middleware.insert 0, HTTPFinisher
      config.app_middleware.insert_before ActionDispatch::ShowExceptions, HTTPTracker
      config.app_middleware.insert_after ActionDispatch::DebugExceptions, ExceptionHandler
      config.app_middleware.use EnvironmentReporter
      plugin.loaded! Rails.version
    end

    config.action_dispatch.rescue_responses.merge!('Immunio::RequestBlocked' => :forbidden)

    Immunio::Plugin.load 'ActionRecord', feature: 'sqli' do |plugin|
      initializer "immunio.active_record", after: "active_record.initialize_database" do
        ActiveSupport.on_load(:active_record) do
          require_relative "plugins/active_record"
          plugin.loaded! ActiveRecord::VERSION::STRING
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
immunio-1.1.6 lib/immunio/rails.rb
immunio-1.1.5 lib/immunio/rails.rb
immunio-1.1.2 lib/immunio/rails.rb