Файловый менеджер - Редактировать - /var/www/html/Chunk.zip
Ðазад
PK ! ���u� � ServerSentEvent.phpnu �[��� <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpClient\Chunk; use Symfony\Component\HttpClient\Exception\JsonException; use Symfony\Contracts\HttpClient\ChunkInterface; /** * @author Antoine Bluchet <soyuka@gmail.com> * @author Nicolas Grekas <p@tchwork.com> */ final class ServerSentEvent extends DataChunk implements ChunkInterface { private string $data = ''; private string $id = ''; private string $type = 'message'; private float $retry = 0; private ?array $jsonData = null; public function __construct(string $content) { parent::__construct(-1, $content); // remove BOM if (str_starts_with($content, "\xEF\xBB\xBF")) { $content = substr($content, 3); } foreach (preg_split("/(?:\r\n|[\r\n])/", $content) as $line) { if (0 === $i = strpos($line, ':')) { continue; } $i = false === $i ? \strlen($line) : $i; $field = substr($line, 0, $i); $i += 1 + (' ' === ($line[1 + $i] ?? '')); switch ($field) { case 'id': $this->id = substr($line, $i); break; case 'event': $this->type = substr($line, $i); break; case 'data': $this->data .= ('' === $this->data ? '' : "\n").substr($line, $i); break; case 'retry': $retry = substr($line, $i); if ('' !== $retry && \strlen($retry) === strspn($retry, '0123456789')) { $this->retry = $retry / 1000.0; } break; } } } public function getId(): string { return $this->id; } public function getType(): string { return $this->type; } public function getData(): string { return $this->data; } public function getRetry(): float { return $this->retry; } /** * Gets the SSE data decoded as an array when it's a JSON payload. */ public function getArrayData(): array { if (null !== $this->jsonData) { return $this->jsonData; } if ('' === $this->data) { throw new JsonException(\sprintf('Server-Sent Event%s data is empty.', '' !== $this->id ? \sprintf(' "%s"', $this->id) : '')); } try { $jsonData = json_decode($this->data, true, 512, \JSON_BIGINT_AS_STRING | \JSON_THROW_ON_ERROR); } catch (\JsonException $e) { throw new JsonException(\sprintf('Decoding Server-Sent Event%s failed: ', '' !== $this->id ? \sprintf(' "%s"', $this->id) : '').$e->getMessage(), $e->getCode()); } if (!\is_array($jsonData)) { throw new JsonException(\sprintf('JSON content was expected to decode to an array, "%s" returned in Server-Sent Event%s.', get_debug_type($jsonData), '' !== $this->id ? \sprintf(' "%s"', $this->id) : '')); } return $this->jsonData = $jsonData; } } PK ! ��4 4 ErrorChunk.phpnu �[��� <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpClient\Chunk; use Symfony\Component\HttpClient\Exception\TimeoutException; use Symfony\Component\HttpClient\Exception\TransportException; use Symfony\Contracts\HttpClient\ChunkInterface; /** * @author Nicolas Grekas <p@tchwork.com> * * @internal */ class ErrorChunk implements ChunkInterface { private bool $didThrow = false; private int $offset; private string $errorMessage; private ?\Throwable $error = null; public function __construct(int $offset, \Throwable|string $error) { $this->offset = $offset; if (\is_string($error)) { $this->errorMessage = $error; } else { $this->error = $error; $this->errorMessage = $error->getMessage(); } } public function isTimeout(): bool { $this->didThrow = true; if (null !== $this->error) { throw new TransportException($this->errorMessage, 0, $this->error); } return true; } public function isFirst(): bool { $this->didThrow = true; throw null !== $this->error ? new TransportException($this->errorMessage, 0, $this->error) : new TimeoutException($this->errorMessage); } public function isLast(): bool { $this->didThrow = true; throw null !== $this->error ? new TransportException($this->errorMessage, 0, $this->error) : new TimeoutException($this->errorMessage); } public function getInformationalStatus(): ?array { $this->didThrow = true; throw null !== $this->error ? new TransportException($this->errorMessage, 0, $this->error) : new TimeoutException($this->errorMessage); } public function getContent(): string { $this->didThrow = true; throw null !== $this->error ? new TransportException($this->errorMessage, 0, $this->error) : new TimeoutException($this->errorMessage); } public function getOffset(): int { return $this->offset; } public function getError(): ?string { return $this->errorMessage; } public function didThrow(?bool $didThrow = null): bool { if (null !== $didThrow && $this->didThrow !== $didThrow) { return !$this->didThrow = $didThrow; } return $this->didThrow; } public function __sleep(): array { throw new \BadMethodCallException('Cannot serialize '.__CLASS__); } /** * @return void */ public function __wakeup() { throw new \BadMethodCallException('Cannot unserialize '.__CLASS__); } public function __destruct() { if (!$this->didThrow) { $this->didThrow = true; throw null !== $this->error ? new TransportException($this->errorMessage, 0, $this->error) : new TimeoutException($this->errorMessage); } } } PK ! ��%۲ � DataChunk.phpnu �[��� <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpClient\Chunk; use Symfony\Contracts\HttpClient\ChunkInterface; /** * @author Nicolas Grekas <p@tchwork.com> * * @internal */ class DataChunk implements ChunkInterface { private int $offset = 0; private string $content = ''; public function __construct(int $offset = 0, string $content = '') { $this->offset = $offset; $this->content = $content; } public function isTimeout(): bool { return false; } public function isFirst(): bool { return false; } public function isLast(): bool { return false; } public function getInformationalStatus(): ?array { return null; } public function getContent(): string { return $this->content; } public function getOffset(): int { return $this->offset; } public function getError(): ?string { return null; } } PK ! �J�� � FirstChunk.phpnu �[��� <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpClient\Chunk; /** * @author Nicolas Grekas <p@tchwork.com> * * @internal */ class FirstChunk extends DataChunk { public function isFirst(): bool { return true; } } PK ! S?� � LastChunk.phpnu �[��� <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpClient\Chunk; /** * @author Nicolas Grekas <p@tchwork.com> * * @internal */ class LastChunk extends DataChunk { public function isLast(): bool { return true; } } PK ! P�҈ � InformationalChunk.phpnu �[��� <?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\HttpClient\Chunk; /** * @author Nicolas Grekas <p@tchwork.com> * * @internal */ class InformationalChunk extends DataChunk { private array $status; public function __construct(int $statusCode, array $headers) { $this->status = [$statusCode, $headers]; } public function getInformationalStatus(): ?array { return $this->status; } } PK ! ���u� � ServerSentEvent.phpnu �[��� PK ! ��4 4 � ErrorChunk.phpnu �[��� PK ! ��%۲ � V DataChunk.phpnu �[��� PK ! �J�� � E FirstChunk.phpnu �[��� PK ! S?� � N LastChunk.phpnu �[��� PK ! P�҈ � T"