def parse_url_with_auth!(url)
      uri = URI.parse(url)

      if uri.hostname.nil?
        raise URI::InvalidURIError.new("bad URI(no host provided): #{url}")
      end

      @user = CGI.unescape(uri.user) if uri.user
      @password = CGI.unescape(uri.password) if uri.password
      if !@user && !@password
        @user, @password = Netrc.read[uri.hostname]
      end

      @uri = uri
    end
def parse_url_with_auth!(url)
      uri = URI.parse(url)

      if uri.hostname.nil?
        raise URI::InvalidURIError.new("bad URI(no host provided): 
      end

      @user = CGI.unescape(uri.user) if uri.user
      @password = CGI.unescape(uri.password) if uri.password
      if !@user && !@password
        @user, @password = Netrc.read[uri.hostname]
      end

      @uri = uri
    end
def parse_url_with_auth! ( url ) uri = URI . parse ( url ) if uri . hostname . nil? raise URI :: InvalidURIError . new ( "bad URI(no host provided): #{url}" ) end @user = CGI . unescape ( uri . user ) if uri . user @password = CGI . unescape ( uri . password ) if uri . password if ! @user && ! @password @user , @password = Netrc . read [ uri . hostname ] end @uri = uri end
Parse the `@url` string into a URI object and save it as
 `@uri`. Also save any basic auth user or password as @user and @password.
 If no auth info was passed, check for credentials in a Netrc file.

 @param [String] url A URL string.

 @return [URI]

 @raise URI::InvalidURIError on invalid URIs
Parse the @url string into a URI object and save it as @uri . Also save any basic auth user or password as @user and @password . If no auth info was passed check for credentials in a Netrc file .