class Gem::URI::HTTP


update. See <URL:support.microsoft.com/kb/834489>.
supported in Internet Explorer 5 and 6, before the MS04-004 security
passwords. This is not legal as per the RFC, but used to be
Note that the Ruby Gem::URI library allows HTTP URLs containing usernames and
The syntax of HTTP URIs is defined in RFC1738 section 3.3.

def self.build(args)


invalid HTTP URIs as per RFC 1738.
Currently, if passed userinfo components this method generates

"query", 'fragment'])
uri = Gem::URI::HTTP.build([nil, "www.example.com", nil, "/path",

uri = Gem::URI::HTTP.build(host: 'www.example.com', path: '/foo/bar')

Example:

order [userinfo, host, port, path, query, fragment].
If an Array is used, the components must be passed in the

with keys formed by preceding the component names with a colon.
The components should be provided either as an Array, or as a Hash

fragment.
The components accepted are userinfo, host, port, path, query, and

Creates a new Gem::URI::HTTP object from components, with syntax checking.

== Description
def self.build(args)
  tmp = Util.make_components_hash(self, args)
  super(tmp)
end

def authority


Gem::URI::HTTP.build(host: 'www.example.com', port: 80, path: '/foo/bar').authority #=> "www.example.com"
Gem::URI::HTTP.build(host: 'www.example.com', port: 8000, path: '/foo/bar').authority #=> "www.example.com:8000"
Gem::URI::HTTP.build(host: 'www.example.com', path: '/foo/bar').authority #=> "www.example.com"

Example:


https://www.rfc-editor.org/rfc/rfc3986#section-3.2.
Returns the authority for an HTTP uri, as defined in

== Description
def authority
  if port == default_port
    host
  else
    "#{host}:#{port}"
  end
end

def origin


Gem::URI::HTTPS.build(host: 'www.example.com', path: '/foo/bar').origin #=> "https://www.example.com"
Gem::URI::HTTP.build(host: 'www.example.com', port: 80, path: '/foo/bar').origin #=> "http://www.example.com"
Gem::URI::HTTP.build(host: 'www.example.com', port: 8000, path: '/foo/bar').origin #=> "http://www.example.com:8000"
Gem::URI::HTTP.build(host: 'www.example.com', path: '/foo/bar').origin #=> "http://www.example.com"

Example:


https://www.rfc-editor.org/rfc/rfc6454.
Returns the origin for an HTTP uri, as defined in

== Description
def origin
  "#{scheme}://#{authority}"
end

def request_uri


uri.request_uri # => "/foo/bar?test=true"
uri = Gem::URI::HTTP.build(path: '/foo/bar', query: 'test=true')

Example:

Otherwise, the path is simply Gem::URI#path.
If the Gem::URI contains a query, the full path is Gem::URI#path + '?' + Gem::URI#query.

Returns the full path for an HTTP request, as required by Net::HTTP::Get.

== Description
def request_uri
  return unless @path
  url = @query ? "#@path?#@query" : @path.dup
  url.start_with?(?/.freeze) ? url : ?/ + url
end