Issue #13307 has been reported by Martin Chabot.

----------------------------------------
Bug #13307: Changing scheme from http to https for the URI does not change the port number
https://bugs.ruby-lang.org/issues/13307

* Author: Martin Chabot
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
If we change the scheme of an URI, it does not change the port number. The URI object become inconsistent. If we print the full URI it does not return the same port number as when we print the port.

See code bellow:

~~~
[1] pry(main)> require 'uri'
=> true
[2] pry(main)> url = "http:devalphaserver.com/xxx/12"
=> "http:devalphaserver.com/xxx/12"
[3] pry(main)> uri = URI.parse(url)
=> #<URI::HTTP http:devalphaserver.com/xxx/12>
[4] pry(main)> uri.scheme = "https"
=> "https"
[5] pry(main)> uri.port
=> 80
[6] pry(main)> uri.to_s
=> "https:devalphaserver.com/xxx/12" # port 443
~~~








-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>