
Issue #19915 has been reported by postmodern (Hal Brodigan). ---------------------------------------- Bug #19915: URI::HTTP.build accepts user: and password: keyboard arguments, but do not populate #user or #password https://bugs.ruby-lang.org/issues/19915 * Author: postmodern (Hal Brodigan) * Status: Open * Priority: Normal * ruby -v: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- I noticed that `URI::HTTP.build` accepts the `user:` and `password:` keyword arguments, but does not actually set the `user` or `password` attributes of the built URI object. It does however correctly accept a `userinfo:` keyword argument. ## Steps To Reproduce ```ruby uri = URI::HTTP.build(user: 'bob', password: 'secret', host: 'example.com', path: '/foo') uri.user uri.password uri.to_s ``` ### Expected Results ```ruby uri.user # => "bob" uri.password # => "secret" uri.to_s # => "http://bob:secret@example.com/foo" ``` ### Actual Results ```ruby uri.user # => nil uri.password # => nil uri.to_s # => "http://example.com/foo" ``` -- https://bugs.ruby-lang.org/