nextcloud-server/lib/private/Http/Client/Response.php

47 lines
1.0 KiB
PHP

<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-only
*/
namespace OC\Http\Client;
use OCP\Http\Client\IResponse;
use Psr\Http\Message\ResponseInterface;
class Response implements IResponse {
private ResponseInterface $response;
private bool $stream;
public function __construct(ResponseInterface $response, bool $stream = false) {
$this->response = $response;
$this->stream = $stream;
}
public function getBody() {
return $this->stream
? $this->response->getBody()->detach()
:$this->response->getBody()->getContents();
}
public function getStatusCode(): int {
return $this->response->getStatusCode();
}
public function getHeader(string $key): string {
$headers = $this->response->getHeader($key);
if (count($headers) === 0) {
return '';
}
return $headers[0];
}
public function getHeaders(): array {
return $this->response->getHeaders();
}
}