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