Module RDig::UrlFilters
In: lib/rdig/url_filters.rb

Methods

Classes and Modules

Class RDig::UrlFilters::FilterChain
Class RDig::UrlFilters::PathExclusionFilter
Class RDig::UrlFilters::PathInclusionFilter
Class RDig::UrlFilters::PatternFilter
Class RDig::UrlFilters::UrlExclusionFilter
Class RDig::UrlFilters::UrlInclusionFilter
Class RDig::UrlFilters::VisitedUrlFilter

Public Class methods

expands both href="/path/xyz.html" and href="affe.html" to full urls

[Source]

     # File lib/rdig/url_filters.rb, line 158
158:     def UrlFilters.fix_relative_uri(document)
159:       #return nil unless document.uri.scheme.nil? || document.uri.scheme =~ /^https?/i
160:       ref = document.referring_uri
161:       return document unless ref
162:       uri = document.uri
163:       uri.scheme = ref.scheme unless uri.scheme
164:       uri.host = ref.host unless uri.host
165:       uri.port = ref.port unless uri.port || ref.port==ref.default_port
166:       uri.path = ref.path unless uri.path
167:       
168:       if uri.path !~ /^\//
169:         ref_path = ref.path || '/'
170:         ref_path << '/' if ref_path.empty?
171:         uri.path = ref_path[0..ref_path.rindex('/')] + uri.path
172:       end 
173:       return document
174:     rescue
175:       p document
176:       p document.uri
177:     end

[Source]

     # File lib/rdig/url_filters.rb, line 179
179:     def UrlFilters.hostname_filter(document, include_hosts)
180:       return document if include_hosts.include?(document.uri.host)
181:       return nil
182:     end

checks redirect count of the given document takes it out of the chain if number of redirections exceeds the max_redirects setting

[Source]

     # File lib/rdig/url_filters.rb, line 151
151:     def UrlFilters.maximum_redirect_filter(document, max_redirects)
152:       return nil if document.respond_to?(:redirections) && document.redirections > max_redirects
153:       return document
154:     end

[Source]

     # File lib/rdig/url_filters.rb, line 184
184:     def UrlFilters.normalize_uri(document)
185:       document.uri.fragment = nil
186:       # document.uri.query = nil
187:       # append index document if configured and path ends with a slash
188:       if RDig.config.index_document && document.uri.path =~ /\/$/
189:         document.uri.path << RDig.config.index_document
190:       end
191:       return document
192:     end

[Source]

     # File lib/rdig/url_filters.rb, line 194
194:     def UrlFilters.scheme_filter_file(document)
195:       return document if (document.uri.scheme.nil? || document.uri.scheme =~ /^file$/i)
196:       nil
197:     end

[Source]

     # File lib/rdig/url_filters.rb, line 198
198:     def UrlFilters.scheme_filter_http(document)
199:       return document if (document.uri.scheme.nil? || document.uri.scheme =~ /^https?$/i)
200:       nil
201:     end

[Validate]