Google\Cloud\Storage\Connection\Rest::downloadObject PHP Method

downloadObject() public method

public downloadObject ( array $args = [] )
$args array
    public function downloadObject(array $args = [])
    {
        $args += ['bucket' => null, 'object' => null, 'generation' => null];
        $requestOptions = array_intersect_key($args, ['httpOptions' => null, 'retries' => null]);
        $uri = $this->expandUri(self::DOWNLOAD_URI, ['bucket' => $args['bucket'], 'object' => $args['object'], 'query' => ['generation' => $args['generation'], 'alt' => 'media']]);
        return $this->requestWrapper->send(new Request('GET', Psr7\uri_for($uri)), $requestOptions)->getBody();
    }

Usage Example

 public function testDownloadObject()
 {
     $actualRequest = null;
     $response = new Response(200, [], $this->successBody);
     $this->requestWrapper->send(Argument::type('Psr\\Http\\Message\\RequestInterface'), Argument::type('array'))->will(function ($args) use(&$actualRequest, $response) {
         $actualRequest = $args[0];
         return $response;
     });
     $rest = new Rest();
     $rest->setRequestWrapper($this->requestWrapper->reveal());
     $actualBody = $rest->downloadObject(['bucket' => 'bigbucket', 'object' => 'myfile.txt', 'generation' => 100, 'httpOptions' => ['debug' => true], 'retries' => 0]);
     $actualUri = (string) $actualRequest->getUri();
     $this->assertEquals($this->successBody, $actualBody);
     $this->assertEquals('https://storage.googleapis.com/bigbucket/myfile.txt?generation=100&alt=media', $actualUri);
 }