Class: Bundler::URI::HTTP
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Subclasses: | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
           Generic | |
| Instance Chain: | |
| Inherits: | Bundler::URI::Generic 
 | 
| Defined in: | lib/bundler/vendor/uri/lib/uri/http.rb | 
Overview
The syntax of HTTP URIs is defined in RFC1738 section 3.3.
Note that the Ruby ::Bundler::URI library allows HTTP URLs containing usernames and passwords. This is not legal as per the RFC, but used to be supported in Internet Explorer 5 and 6, before the MS04-004 security update. See <URL:support.microsoft.com/kb/834489>.
Constant Summary
- 
    COMPONENT =
    # File 'lib/bundler/vendor/uri/lib/uri/http.rb', line 28An Array of the available components for HTTP.%i[ scheme userinfo host port path query fragment ].freeze 
- 
    DEFAULT_PORT =
    # File 'lib/bundler/vendor/uri/lib/uri/http.rb', line 25A Default port of 80 for HTTP.80
::Bundler::URI - Included
  DEFAULT_PARSER, Parser, REGEXP, RFC3986_PARSER, TBLDECWWWCOMP_, TBLENCWWWCOMP_, VERSION, VERSION_CODE, WEB_ENCODINGS_
Generic - Inherited
  
Class Method Summary
- 
    
      .build(args)  
    
    Description. 
Generic - Inherited
| .build | Synopsis. | 
| .build2 | Synopsis. | 
| .component | Components of the  | 
| .default_port | Returns default port. | 
| .new | Args. | 
| .use_proxy?, .use_registry | |
Instance Attribute Summary
Generic - Inherited
| #absolute | Alias for Generic#absolute?. | 
| #fragment | Returns the fragment component of the  | 
| #fragment= | Checks the fragment  | 
| #hierarchical? | Returns true if  | 
| #host | Returns the host component of the  | 
| #host= | Args. | 
| #hostname | Extract the host part of the  | 
| #hostname= | Sets the host part of the  | 
| #opaque | Returns the opaque part of the  | 
| #opaque= | Args. | 
| #password | Returns the password component. | 
| #password= | Args. | 
| #path | Returns the path component of the  | 
| #path= | Args. | 
| #port | Returns the port component of the  | 
| #port= | Args. | 
| #query | Returns the query component of the  | 
| #query= | Args. | 
| #registry=, | |
| #relative? | Returns true if  | 
| #scheme | Returns the scheme component of the  | 
| #scheme= | Args. | 
| #user | Returns the user component. | 
| #user= | Args. | 
| #userinfo | Returns the userinfo, either as ‘user’ or ‘user:password’. | 
| #userinfo= | Sets userinfo, argument is string like ‘name:pass’. | 
| #registry | |
Instance Method Summary
- 
    
      #request_uri  
    
    Description. 
Generic - Inherited
| #+ | Alias for Generic#merge. | 
| #- | Alias for Generic#route_from. | 
| #== | Compares two URIs. | 
| #absolute? | Returns true if  | 
| #coerce | Args. | 
| #component | Components of the  | 
| #default_port | Returns default port. | 
| #eql?, | |
| #find_proxy | Returns a proxy  | 
| #hash, #inspect, | |
| #merge | Args. | 
| #merge! | Args. | 
| #normalize | Returns normalized  | 
| #normalize! | Destructive version of  | 
| #parser | Returns the parser to be used. | 
| #route_from | Args. | 
| #route_to | Args. | 
| #select | Args. | 
| #to_s | Constructs String from  | 
| #component_ary | Returns an Array of the components defined from the COMPONENT Array. | 
| #set_host | Protected setter for the host component  | 
| #set_opaque | Protected setter for the opaque component  | 
| #set_password | Protected setter for the password component  | 
| #set_path | Protected setter for the path component  | 
| #set_port | Protected setter for the port component  | 
| #set_scheme | Protected setter for the scheme component  | 
| #set_user | Protected setter for the user component  | 
| #set_userinfo | Protected setter for the  | 
| #check_host | Checks the host  | 
| #check_opaque | Checks the opaque  | 
| #check_password | Checks the password  | 
| #check_path | Checks the path  | 
| #check_port | Checks the port  | 
| #check_scheme | Checks the scheme  | 
| #check_user | Checks the user  | 
| #check_userinfo | Checks the  | 
| #escape_userpass | Escapes ‘user:password’  | 
| #merge_path | Merges a base path  | 
| #replace! | Replaces self by other  | 
| #route_from0, | |
| #split_path | Returns an Array of the path split on ‘/’. | 
| #split_userinfo | Returns the userinfo Bundler.ui as  | 
| #set_registry, #check_registry, #route_from_path | |
Constructor Details
This class inherits a constructor from Bundler::URI::Generic
Class Method Details
.build(args)
Description
Creates a new HTTP object from components, with syntax checking.
The components accepted are userinfo, host, port, path, query, and fragment.
The components should be provided either as an Array, or as a Hash with keys formed by preceding the component names with a colon.
If an Array is used, the components must be passed in the order [userinfo, host, port, path, query, fragment].
Example:
uri = Bundler::URI::HTTP.build(host: 'www.example.com', path: '/foo/bar')
uri = Bundler::URI::HTTP.build([nil, "www.example.com", nil, "/path",
  "query", 'fragment'])Currently, if passed userinfo components this method generates invalid HTTP URIs as per RFC 1738.
# File 'lib/bundler/vendor/uri/lib/uri/http.rb', line 60
def self.build(args) tmp = Util.make_components_hash(self, args) super(tmp) end
Instance Method Details
#request_uri
Description
Returns the full path for an HTTP request, as required by Net::HTTP::Get.
If the ::Bundler::URI contains a query, the full path is Bundler::URI#path + ‘?’ + Bundler::URI#query. Otherwise, the path is simply Bundler::URI#path.
Example:
uri = Bundler::URI::HTTP.build(path: '/foo/bar', query: 'test=true')
uri.request_uri #  => "/foo/bar?test=true"# File 'lib/bundler/vendor/uri/lib/uri/http.rb', line 78
def request_uri return unless @path url = @query ? "#@path?#@query" : @path.dup url.start_with?(?/.freeze) ? url : ?/ + url end