public function proxyObject($name) {
    $url = self::objectUrl($this->url, $name);
    $cdn = self::objectUrl($this->cdnUrl, $name);
    $cdnSsl = self::objectUrl($this->cdnSslUrl, $name);
    $headers = array(
      'X-Auth-Token' => $this->token,
    );


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

    if (empty($this->cdnUrl)) {
      $response = $client->doRequest($url, 'HEAD', $headers);
    }
    else {
      $response = $client->doRequest($cdnSsl, 'HEAD', $headers);
    }

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

    $headers = $response->headers();

    $obj = RemoteObject::newFromHeaders($name, $headers, $this->token, $url);

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

    return $obj;
  }
public function proxyObject($name) {
    $url = self::objectUrl($this->url, $name);
    $cdn = self::objectUrl($this->cdnUrl, $name);
    $cdnSsl = self::objectUrl($this->cdnSslUrl, $name);
    $headers = array(
      'X-Auth-Token' => $this->token,
    );


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

    if (empty($this->cdnUrl)) {
      $response = $client->doRequest($url, 'HEAD', $headers);
    }
    else {
      $response = $client->doRequest($cdnSsl, 'HEAD', $headers);
    }

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

    $headers = $response->headers();

    $obj = RemoteObject::newFromHeaders($name, $headers, $this->token, $url);

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

    return $obj;
  }
public function proxyObject ( $ name ) { $ url = self :: objectUrl ( $ this -> url , $ name ) ; $ cdn = self :: objectUrl ( $ this -> cdnUrl , $ name ) ; $ cdnSsl = self :: objectUrl ( $ this -> cdnSslUrl , $ name ) ; $ headers = array ( 'X-Auth-Token' => $ this -> token , ) ; $ client = \ HPCloud \ Transport :: instance ( ) ; if ( empty ( $ this -> cdnUrl ) ) { $ response = $ client -> doRequest ( $ url , 'HEAD' , $ headers ) ; } else { $ response = $ client -> doRequest ( $ cdnSsl , 'HEAD' , $ headers ) ; } if ( $ response -> status ( ) != 200 ) { throw new \ HPCloud \ Exception ( 'An unknown error occurred while saving: ' . $ response -> status ( ) ) ; } $ headers = $ response -> headers ( ) ; $ obj = RemoteObject :: newFromHeaders ( $ name , $ headers , $ this -> token , $ url ) ; if ( ! empty ( $ this -> cdnUrl ) ) { $ obj -> useCDN ( $ cdn , $ cdnSsl ) ; } return $ obj ; }
Fetch an object, but delay fetching its contents.

This retrieves all of the information about an object except for
its contents. Size, hash, metadata, and modification date
information are all retrieved and wrapped.

The data comes back as a RemoteObject, which can be used to
transparently fetch the object's content, too.

Why Use This?

The regular object() call will fetch an entire object, including
its content. This may not be desireable for cases where the object
is large.

This method can featch the relevant metadata, but delay fetching
the content until it is actually needed.

Since RemoteObject extends Object, all of the calls that can be
made to an Object can also be made to a RemoteObject. Be aware,
though, that calling RemoteObject::content() will initiate another
network operation.

@param string $name
The name of the object to fetch.
@retval HPCloud::Storage::ObjectStorage::RemoteObject
@return \HPCloud\Storage\ObjectStorage\RemoteObject
A remote object ready for use.
Fetch an object but delay fetching its contents .