HEX
Server: LiteSpeed
System: Linux s166.bitcommand.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: h340499 (1922)
PHP: 8.2.16
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/h340499/public_html/wp-includes/SimplePie/src/HTTP/RawTextResponse.php
<?php

// SPDX-FileCopyrightText: 2004-2023 Ryan Parman, Sam Sneddon, Ryan McCue
// SPDX-License-Identifier: BSD-3-Clause

declare(strict_types=1);

namespace SimplePie\HTTP;

/**
 * HTTP Response for rax text
 *
 * This interface must be interoperable with Psr\Http\Message\ResponseInterface
 * @see https://www.php-fig.org/psr/psr-7/#33-psrhttpmessageresponseinterface
 *
 * @internal
 */
final class RawTextResponse implements Response
{
    /**
     * @var string
     */
    private $raw_text;

    /**
     * @var string
     */
    private $permanent_url;

    /**
     * @var array<non-empty-array<string>>
     */
    private $headers = [];

    /**
     * @var string
     */
    private $requested_url;

    public function __construct(string $raw_text, string $filepath)
    {
        $this->raw_text = $raw_text;
        $this->permanent_url = $filepath;
        $this->requested_url = $filepath;
    }

    public function get_permanent_uri(): string
    {
        return $this->permanent_url;
    }

    public function get_final_requested_uri(): string
    {
        return $this->requested_url;
    }

    public function get_status_code(): int
    {
        return 200;
    }

    public function get_headers(): array
    {
        return $this->headers;
    }

    public function has_header(string $name): bool
    {
        return isset($this->headers[strtolower($name)]);
    }

    public function get_header(string $name): array
    {
        return isset($this->headers[strtolower($name)]) ? $this->headers[$name] : [];
    }

    public function with_header(string $name, $value)
    {
        $new = clone $this;

        $newHeader = [
            strtolower($name) => (array) $value,
        ];
        $new->headers = $newHeader + $this->headers;

        return $new;
    }

    public function get_header_line(string $name): string
    {
        return isset($this->headers[strtolower($name)]) ? implode(", ", $this->headers[$name]) : '';
    }

    public function get_body_content(): string
    {
        return $this->raw_text;
    }
}