Sha256: 844cfc916b39d9797489714394fde90db977aa475d770ed3b1e5368a4289cfc3

Contents?: true

Size: 1.61 KB

Versions: 2

Compression:

Stored size: 1.61 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',
                         hooks: [
                           'http_request_start',
                           'http_request_finish',
                           'http_response_start',
                           'http_request_body_chunk',
                           'http_response_body_chunk',
                           'exception',
                           'framework_route',
                           'framework_session',
                         ] 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',
                         hooks: %w( sql_execute ) 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

2 entries across 2 versions & 1 rubygems

Version Path
immunio-1.1.10 lib/immunio/rails.rb
immunio-1.1.7 lib/immunio/rails.rb