class HTTPClient::Util::AddressableURI

def authority

Overwrites the original definition just for one line...
def authority
  self.host && @authority ||= (begin
    authority = "".dup
    if self.userinfo != nil
      authority << "#{self.userinfo}@"
    end
    authority << self.host
    if self.port != self.default_port # ...HERE! Compares with default_port because self.port is not nil in this wrapper.
      authority << ":#{self.port}"
    end
    authority
  end)
end

def hostname

Captured from uri/generic.rb
def hostname
  v = self.host
  /\A\[(.*)\]\z/ =~ v ? $1 : v
end

def port

HTTPClient expects urify("http://foo/").port to be not nil but 80 like URI.
def port
  super || default_port
end