public function object($name, $requireSSL = TRUE) {

    $url = self::objectUrl($this->url, $name);
    $cdn = self::objectUrl($this->cdnUrl, $name);
    $cdnSsl = self::objectUrl($this->cdnSslUrl, $name);
    $headers = array();

    // Auth token.
    $headers['X-Auth-Token'] = $this->token;

    $client = \HPCloud\Transport::instance();

    if (empty($this->cdnUrl)) {
      $response = $client->doRequest($url, 'GET', $headers);
    }
    else {
      $from = $requireSSL ? $cdnSsl : $cdn;
      // print "Fetching object from $from\n";
      $response = $client->doRequest($from, 'GET', $headers);
    }

    if ($response->status() != 200) {
      throw new \HPCloud\Exception('An unknown error occurred while saving: ' . $response->status());
    }

    $remoteObject = RemoteObject::newFromHeaders($name, $response->headers(), $this->token, $url);
    $remoteObject->setContent($response->content());

    if (!empty($this->cdnUrl)) {
      $remoteObject->useCDN($cdn, $cdnSsl);
    }

    return $remoteObject;
  }