diff options
Diffstat (limited to 'lib/private/Http/Client/Response.php')
-rw-r--r-- | lib/private/Http/Client/Response.php | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/lib/private/Http/Client/Response.php b/lib/private/Http/Client/Response.php new file mode 100644 index 00000000000..1e4cb3b8fa2 --- /dev/null +++ b/lib/private/Http/Client/Response.php @@ -0,0 +1,46 @@ +<?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(); + } +} |