%PDF- %PDF-
Direktori : /www/varak.net/nextcloud.varak.net/apps_old/apps/bookmarks/vendor/rowbot/url/src/ |
Current File : //www/varak.net/nextcloud.varak.net/apps_old/apps/bookmarks/vendor/rowbot/url/src/ParserContext.php |
<?php declare(strict_types=1); namespace Rowbot\URL; use Rowbot\URL\State\HostnameState; use Rowbot\URL\State\SchemeStartState; use Rowbot\URL\State\State; use Rowbot\URL\String\StringBufferInterface; use Rowbot\URL\String\StringIteratorInterface; use Rowbot\URL\String\USVStringInterface; use Rowbot\URL\Support\EncodingHelper; final class ParserContext { /** * @readonly * * @var \Rowbot\URL\URLRecord|null */ public $base; /** * @readonly * * @var \Rowbot\URL\String\StringBufferInterface */ public $buffer; /** * @readonly * * @var \Rowbot\URL\String\USVStringInterface */ public $input; /** * @readonly * * @var \Rowbot\URL\String\StringIteratorInterface */ public $iter; /** * @var \Rowbot\URL\State\State */ public $state; /** * @readonly * * @var \Rowbot\URL\URLRecord */ public $url; /** * @var string */ private $encoding; /** * @var \Rowbot\URL\State\State|null */ private $stateOverride; public function __construct( USVStringInterface $input, StringIteratorInterface $iter, StringBufferInterface $buffer, URLRecord $url, ?URLRecord $base, ?State $stateOverride, ?string $encodingOverride ) { $this->input = $input; $this->iter = $iter; $this->buffer = $buffer; $this->url = $url; $this->base = $base; $this->encoding = EncodingHelper::getOutputEncoding($encodingOverride) ?? 'utf-8'; $this->state = $stateOverride ?? new SchemeStartState(); $this->stateOverride = $stateOverride; } /** * Returns the output encoding of the URL string. */ public function getOutputEncoding(): string { return $this->encoding; } /** * Returns whether the parser's starting state was overriden. This occurs when using one of the * URL object's setters. */ public function isStateOverridden(): bool { return $this->stateOverride !== null; } /** * Returns whether the parser's starting state was the Hostname state. */ public function isOverrideStateHostname(): bool { return $this->stateOverride instanceof HostnameState; } /** * Changes the encoding of the resulting URL string. This only affects the query string portion * and it is only for use in the HTML specification. This should never be changed from the * default UTF-8 encoding. */ public function setOutputEncoding(string $encoding): void { $this->encoding = EncodingHelper::getOutputEncoding($encoding) ?? 'utf-8'; } }