Sha256: a0c18631392843a731a9aa616bcee9499d8188be773e492fe3ca94b2f220cde2

Contents?: true

Size: 728 Bytes

Versions: 90

Compression:

Stored size: 728 Bytes

Contents

# frozen_string_literal: true

module ActionDispatch
  module Http
    module FilterRedirect
      FILTERED = "[FILTERED]".freeze # :nodoc:

      def filtered_location # :nodoc:
        if location_filter_match?
          FILTERED
        else
          location
        end
      end

    private

      def location_filters
        if request
          request.get_header("action_dispatch.redirect_filter") || []
        else
          []
        end
      end

      def location_filter_match?
        location_filters.any? do |filter|
          if String === filter
            location.include?(filter)
          elsif Regexp === filter
            location =~ filter
          end
        end
      end
    end
  end
end

Version data entries

90 entries across 90 versions & 5 rubygems

Version Path
actionpack-5.2.2.rc1 lib/action_dispatch/http/filter_redirect.rb
actionpack-5.2.1.1 lib/action_dispatch/http/filter_redirect.rb
actionpack-5.2.1 lib/action_dispatch/http/filter_redirect.rb
actionpack-5.2.1.rc1 lib/action_dispatch/http/filter_redirect.rb
actionpack-5.2.0 lib/action_dispatch/http/filter_redirect.rb
actionpack-5.2.0.rc2 lib/action_dispatch/http/filter_redirect.rb
actionpack-5.2.0.rc1 lib/action_dispatch/http/filter_redirect.rb
actionpack-5.2.0.beta2 lib/action_dispatch/http/filter_redirect.rb
actionpack-5.2.0.beta1 lib/action_dispatch/http/filter_redirect.rb
ruby-on-quails-0.1.0 actionpack/lib/action_dispatch/http/filter_redirect.rb