/** * {@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; }