module ActionDispatch::Http::URL

def port_string

req.port_string # => ":8080"
req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:8080'

req.port_string # => ""
req = ActionDispatch::Request.new 'HTTP_HOST' => 'example.com:80'

number of this request is not the default HTTP \port 80 or HTTPS \port 443.
Returns a string \port suffix, including colon, like ":8080" if the \port
def port_string
  standard_port? ? "" : ":#{port}"
end