def site
      (self.scheme || self.authority) && @site ||= begin
        site_string = "".dup
        site_string << "#{self.scheme}:" if self.scheme != nil
        site_string << "//#{self.authority}" if self.authority != nil
        site_string
      end
    end
def site
      (self.scheme || self.authority) && @site ||= begin
        site_string = "".dup
        site_string << "#{self.scheme}:" if self.scheme != nil
        site_string << "//#{self.authority}" if self.authority != nil
        site_string
      end
    end
The combination of components that represent a site.
 Combines the scheme, user, password, host, and port components.
 Primarily useful for HTTP and HTTPS.

 For example, <code>"http://example.com/path?query"</code> would have a
 <code>site</code> value of <code>"http://example.com"</code>.

 @return [String] The components that identify a site.