class Bundler::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 Bundler::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 = Bundler::URI::HTTP.build([nil, "www.example.com", nil, "/path",

uri = Bundler::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 Bundler::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


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

Example:


https://datatracker.ietf.org/doc/html/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


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

Example:


https://datatracker.ietf.org/doc/html/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 = Bundler::URI::HTTP.build(path: '/foo/bar', query: 'test=true')

Example:

Otherwise, the path is simply Bundler::URI#path.
If the Bundler::URI contains a query, the full path is Bundler::URI#path + '?' + Bundler::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