# File lib/openid/urinorm.rb, line 9 def URINorm.urinorm(uri) uri = URI.parse(uri) raise URI::InvalidURIError.new('no scheme') unless uri.scheme uri.scheme = uri.scheme.downcase unless ['http','https'].member?(uri.scheme) raise URI::InvalidURIError.new('Not an HTTP or HTTPS URI') end raise URI::InvalidURIError.new('no host') unless uri.host uri.host = uri.host.downcase uri.path = remove_dot_segments(uri.path) uri.path = '/' if uri.path.length == 0 uri = uri.normalize.to_s uri = uri.gsub(PERCENT_ESCAPE_RE) { sub = $&[1..2].to_i(16).chr reserved(sub) ? $&.upcase : sub } return uri end
Generated with the Darkfish Rdoc Generator 2.