Class: Bundler::URI::WS
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| 
         Subclasses: 
        
       | 
    |
| Super Chains via Extension / Inclusion / Inheritance | |
| 
         Class Chain: 
        
          self,
           
      Generic
         | 
    |
| 
         Instance Chain: 
        
          self,
           
      Generic,
          ::Bundler::URI
         | 
    |
| Inherits: | 
        Bundler::URI::Generic
        
  | 
    
| Defined in: | lib/bundler/vendor/uri/lib/uri/ws.rb | 
Overview
The syntax of WS URIs is defined in RFC6455 section 3.
Note that the Ruby ::Bundler::URI library allows WS 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/ws.rb', line 27
An Array of the available components for
WS.%i[ scheme userinfo host port path query ].freeze
 - 
    DEFAULT_PORT =
    # File 'lib/bundler/vendor/uri/lib/uri/ws.rb', line 24
A Default port of 80 for
WS.80 
::Bundler::URI - Included
  DEFAULT_PARSER, INITIAL_SCHEMES, RFC2396_PARSER, RFC3986_PARSER, TBLDECWWWCOMP_, TBLENCURICOMP_, 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 (without   | 
    
| #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.  | 
    
| #relative? | Returns true if   | 
    
| #scheme | Returns the scheme component of the   | 
    
| #scheme= | Args.  | 
    
| #user | Returns the user component (without   | 
    
| #user= | Args.  | 
    
| #userinfo | Returns the userinfo, either as ‘user’ or ‘user:password’.  | 
    
| #userinfo= | Sets userinfo, argument is string like ‘name:pass’.  | 
    
| #registry, #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   | 
    
| #authority | Returns the authority info (array of user, password, host and port), if any is set.  | 
    
| #coerce | Args.  | 
    
| #component | Components of the   | 
    
| #decoded_password | Returns the password component after   | 
    
| #decoded_user | Returns the user component after   | 
    
| #default_port | Returns default port.  | 
    
| #eql? | Compares with oth for Hash.  | 
    
| #find_proxy | Returns a proxy   | 
    
| #hash | Returns the hash value.  | 
    
| #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   | 
    
| #to_str | Alias for Generic#to_s.  | 
    
| #component_ary | Returns an Array of the components defined from the COMPONENT Array.  | 
    
| #set_authority | Protected setter for the authority info (  | 
    
| #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   | 
    
| #inspect, #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 WS object from components, with syntax checking.
The components accepted are userinfo, host, port, path, and query.
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].
Example:
uri = Bundler::URI::WS.build(host: 'www.example.com', path: '/foo/bar')
uri = Bundler::URI::WS.build([nil, "www.example.com", nil, "/path", "query"])
Currently, if passed userinfo components this method generates invalid WS URIs as per RFC 1738.
# File 'lib/bundler/vendor/uri/lib/uri/ws.rb', line 56
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 a WS ::Bundler::URI, 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::WS.build(path: '/foo/bar', query: 'test=true')
uri.request_uri #  => "/foo/bar?test=true"
  # File 'lib/bundler/vendor/uri/lib/uri/ws.rb', line 74
def request_uri return unless @path url = @query ? "#@path?#@query" : @path.dup url.start_with?(?/.freeze) ? url : ?/ + url end