Skip to content
  • Jeremy Evans's avatar
    fbebfe16
    [ruby/uri] Add URI::Generic#decoded_#{user,password} · fbebfe16
    Jeremy Evans authored
    URI::Generic#{user,password} return the encoded values, which are
    not that useful if you want to do authentication with them.
    Automatic decoding by default would break backwards compatibility.
    Optional automatic decoding via a keyword to URI.parse would
    require threading the option through at least 3 other methods, and
    would make semantics confusing (user= takes encoded or unencoded
    password?) or require more work.  Thus, adding this as a separate
    method seemed the simplest approach.
    
    Unfortunately, URI lacks a method for correct decoding.  Unlike in
    www form components, + in earlier parts of the URI such as the
    userinfo section is treated verbatim and not as an encoded space.
    Add URI.#{en,de}code_uri_component methods, which are almost the
    same as URI.#{en,de}code_www_form_component, but without the
    special SP => + handling.
    
    Implements [Feature #9045]
    
    https://github.com/ruby/uri/commit/16cfc4e92f
    fbebfe16
    [ruby/uri] Add URI::Generic#decoded_#{user,password}
    Jeremy Evans authored
    URI::Generic#{user,password} return the encoded values, which are
    not that useful if you want to do authentication with them.
    Automatic decoding by default would break backwards compatibility.
    Optional automatic decoding via a keyword to URI.parse would
    require threading the option through at least 3 other methods, and
    would make semantics confusing (user= takes encoded or unencoded
    password?) or require more work.  Thus, adding this as a separate
    method seemed the simplest approach.
    
    Unfortunately, URI lacks a method for correct decoding.  Unlike in
    www form components, + in earlier parts of the URI such as the
    userinfo section is treated verbatim and not as an encoded space.
    Add URI.#{en,de}code_uri_component methods, which are almost the
    same as URI.#{en,de}code_www_form_component, but without the
    special SP => + handling.
    
    Implements [Feature #9045]
    
    https://github.com/ruby/uri/commit/16cfc4e92f
Loading