code: private function assembleUrl()
      {
          $address = '';
          if (!empty($this->scheme)) {
              $address .= $this->scheme . '://';
          }
          if (!empty($this->user)) {
              $address .= $this->user;
          }
          if (!empty($this->pass)) {
              $address .= ':' . $this->pass . '@';
          }
          if (!empty($this->host)) {
              $address .= $this->host;
          }
          if (!empty($this->port)) {
              $address .= ':' . $this->port;
          }
          if (!empty($this->path)) {
              $address .= $this->path;
          }
          if (count($this->query) > 0) {
              $this->query_string = http_build_query($this->query);
              $address .= '?' . $this->query_string;
          }
          if (!empty($this->fragment)) {
              $address .= '#' . $this->fragment;
          }
  
          $this->full_address = $address;
      }
docs: Assemble the fullAddress from the other properties