Module: ActionDispatch::Http::FilterRedirect
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Defined in: | actionpack/lib/action_dispatch/http/filter_redirect.rb |
Constant Summary
-
FILTERED =
Internal use only
# File 'actionpack/lib/action_dispatch/http/filter_redirect.rb', line 8"[FILTERED]"
Instance Attribute Summary
- #location_filter_match? ⇒ Boolean readonly private
Instance Method Summary
- #location_filters private
- #parameter_filtered_location private
- #filtered_location Internal use only
Instance Attribute Details
#location_filter_match? ⇒ Boolean
(readonly, private)
[ GitHub ]
# File 'actionpack/lib/action_dispatch/http/filter_redirect.rb', line 27
def location_filter_match? location_filters.any? do |filter| if String === filter location.include?(filter) elsif Regexp === filter location.match?(filter) end end end
Instance Method Details
#filtered_location
This method is for internal use only.
[ GitHub ]
# File 'actionpack/lib/action_dispatch/http/filter_redirect.rb', line 10
def filtered_location # :nodoc: if location_filter_match? FILTERED else parameter_filtered_location end end
#location_filters (private)
[ GitHub ]# File 'actionpack/lib/action_dispatch/http/filter_redirect.rb', line 19
def location_filters if request request.get_header("action_dispatch.redirect_filter") || [] else [] end end
#parameter_filtered_location (private)
[ GitHub ]# File 'actionpack/lib/action_dispatch/http/filter_redirect.rb', line 37
def parameter_filtered_location uri = URI.parse(location) unless uri.query.nil? || uri.query.empty? uri.query.gsub!(FilterParameters::PAIR_RE) do request.parameter_filter.filter($1 => $2).first.join("=") end end uri.to_s rescue URI::Error FILTERED end