Esempio n. 1
0
 /**
  * {@inheritdoc}
  *
  * @return \Psr\Http\Message\ResponseInterface|BuildInfo[]|BuildStream
  */
 public function build($inputStream, $parameters = [], $fetch = self::FETCH_OBJECT)
 {
     $response = parent::build($inputStream, $parameters, self::FETCH_RESPONSE);
     if (200 === $response->getStatusCode()) {
         if (self::FETCH_STREAM === $fetch) {
             return new BuildStream($response->getBody(), $this->serializer);
         }
         if (self::FETCH_OBJECT === $fetch) {
             $buildInfoList = [];
             $stream = new BuildStream($response->getBody(), $this->serializer);
             $stream->onFrame(function (BuildInfo $buildInfo) use(&$buildInfoList) {
                 $buildInfoList[] = $buildInfo;
             });
             $stream->wait();
             return $buildInfoList;
         }
     }
     return $response;
 }