Sha256: 5233bf8e263a71b800624ccd21f0978db80dfd28896bf907b23d9e01c99747b5

Contents?: true

Size: 780 Bytes

Versions: 6

Compression:

Stored size: 780 Bytes

Contents

# frozen_string_literal: true

require 'rack/contrib/response_headers'
require_relative 'concerns/skip_request_paths'

module RailsSpotlight
  module Middlewares
    class HeaderMarker
      include ::RailsSpotlight::Middlewares::SkipRequestPaths

      def initialize(app, app_config)
        @app = app
        @app_config = app_config
      end

      def call(env)
        request_path = env['PATH_INFO']
        middleware = Rack::ResponseHeaders.new(app) do |headers|
          headers['X-Rails-Spotlight-Version'] = RailsSpotlight::VERSION unless skip?(request_path)
        end
        middleware.call(env)
      end

      private

      attr_reader :app, :app_config

      def default_skip_paths
        %w[/__better_errors /__meta_request]
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rails_spotlight-0.4.2 lib/rails_spotlight/middlewares/header_marker.rb
rails_spotlight-0.4.1 lib/rails_spotlight/middlewares/header_marker.rb
rails_spotlight-0.4.0 lib/rails_spotlight/middlewares/header_marker.rb
rails_spotlight-0.3.9 lib/rails_spotlight/middlewares/header_marker.rb
rails_spotlight-0.3.8 lib/rails_spotlight/middlewares/header_marker.rb
rails_spotlight-0.3.7 lib/rails_spotlight/middlewares/header_marker.rb