Skip to content

Instantly share code, notes, and snippets.

@simonoff
Created January 16, 2012 12:15
Show Gist options
  • Save simonoff/1620602 to your computer and use it in GitHub Desktop.
Save simonoff/1620602 to your computer and use it in GitHub Desktop.
#
# Fix for buggy domain name webcare_test/webcare_development.
# By standards domain must not include "_"(dash). Use "-" instead.
#
module URI
class Generic
def initialize(scheme,
userinfo, host, port, registry,
path, opaque,
query,
fragment,
parser = DEFAULT_PARSER,
arg_check = false)
@scheme = nil
@user = nil
@password = nil
@host = nil
@port = nil
@path = nil
@query = nil
@opaque = nil
@registry = nil
@fragment = nil
@parser = parser == DEFAULT_PARSER ? nil : parser
if arg_check
self.scheme = scheme
self.userinfo = userinfo
self.host = host
self.port = port
self.path = path
self.query = query
self.opaque = opaque
self.registry = registry
self.fragment = fragment
else
self.set_scheme(scheme)
self.set_userinfo(userinfo)
self.set_host(host)
self.set_port(port)
self.set_path(path)
self.set_query(query)
self.set_opaque(opaque)
self.set_registry(registry)
self.set_fragment(fragment)
end
#if @registry && !self.class.use_registry
# raise InvalidURIError,
# "the scheme #{@scheme} does not accept registry part: #{@registry} (or bad hostname?)"
#end
@scheme.freeze if @scheme
self.set_path('') if !@path && !@opaque # (see RFC2396 Section 5.2)
self.set_port(self.default_port) if self.default_port && !@port
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment