Class: OrganicSitemap::UrlProcessor

Inherits:
Object
  • Object
show all
Defined in:
lib/organic-sitemap/url_processor.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(status, headers, request) ⇒ UrlProcessor

Returns a new instance of UrlProcessor.



6
7
8
# File 'lib/organic-sitemap/url_processor.rb', line 6

def initialize(status, headers, request)
  @status, @headers, @request = status, headers, request
end

Instance Attribute Details

#headersObject

Returns the value of attribute headers.



4
5
6
# File 'lib/organic-sitemap/url_processor.rb', line 4

def headers
  @headers
end

#requestObject

Returns the value of attribute request.



4
5
6
# File 'lib/organic-sitemap/url_processor.rb', line 4

def request
  @request
end

#statusObject

Returns the value of attribute status.



4
5
6
# File 'lib/organic-sitemap/url_processor.rb', line 4

def status
  @status
end

Instance Method Details

#cleanable_url?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/organic-sitemap/url_processor.rb', line 31

def cleanable_url?
  redirect_response? || not_found_response?
end

#not_found_response?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/organic-sitemap/url_processor.rb', line 39

def not_found_response?
  OrganicSitemap.configuration.clean_not_found && status == 404
end

#redirect_response?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/organic-sitemap/url_processor.rb', line 35

def redirect_response?
  OrganicSitemap.configuration.clean_redirects && status == 301
end

#sanitize_path_infoObject



10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/organic-sitemap/url_processor.rb', line 10

def sanitize_path_info
  query_string = Rack::Utils.parse_nested_query(request.query_string)

  query_string.select!{|x,_| OrganicSitemap.configuration.allowed_params.include? x }

  sanitize_url = request.path
  sanitize_url << "?#{Rack::Utils.build_query(query_string.sort)}" if query_string.any?
  sanitize_url
rescue => e
  p "OrganicSitemap ERROR: sanitizing #{request.path} raise error"
  p "OrganicSitemap ERROR: " + e
end

#sitemap_url?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/organic-sitemap/url_processor.rb', line 23

def sitemap_url?
  success_response? && html_page? && request.get? && is_expected_domain? && is_allowed_url?
end

#url_from_cache_valid?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/organic-sitemap/url_processor.rb', line 27

def url_from_cache_valid?
  success_response? && html_page? && is_expected_domain?
end