OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
firebase
/
vendor
/
kreait
/
firebase-php
/
src
/
Firebase
/
Messaging
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
08/12/2024 10:35:39 AM
rwxr-xr-x
📄
AndroidConfig.php
3.1 KB
08/12/2024 10:35:38 AM
rw-r--r--
📄
ApiClient.php
1.57 KB
08/12/2024 10:35:38 AM
rw-r--r--
📄
ApnsConfig.php
3.43 KB
08/12/2024 10:35:38 AM
rw-r--r--
📄
AppInstance.php
2.36 KB
08/12/2024 10:35:38 AM
rw-r--r--
📄
AppInstanceApiClient.php
5.45 KB
08/12/2024 10:35:38 AM
rw-r--r--
📄
CloudMessage.php
9.41 KB
08/12/2024 10:35:38 AM
rw-r--r--
📄
Condition.php
1.09 KB
08/12/2024 10:35:38 AM
rw-r--r--
📄
FcmOptions.php
1.15 KB
08/12/2024 10:35:38 AM
rw-r--r--
📁
Http
-
08/12/2024 10:36:41 AM
rwxr-xr-x
📄
Message.php
128 bytes
08/12/2024 10:35:38 AM
rw-r--r--
📄
MessageData.php
2.75 KB
08/12/2024 10:35:38 AM
rw-r--r--
📄
MessageTarget.php
1.78 KB
08/12/2024 10:35:39 AM
rw-r--r--
📄
Messages.php
717 bytes
08/12/2024 10:35:38 AM
rw-r--r--
📄
MulticastSendReport.php
5.25 KB
08/12/2024 10:35:39 AM
rw-r--r--
📄
Notification.php
2.55 KB
08/12/2024 10:35:39 AM
rw-r--r--
📄
RawMessageFromArray.php
471 bytes
08/12/2024 10:35:39 AM
rw-r--r--
📄
RegistrationToken.php
639 bytes
08/12/2024 10:35:39 AM
rw-r--r--
📄
RegistrationTokens.php
2.58 KB
08/12/2024 10:35:39 AM
rw-r--r--
📄
SendReport.php
2.2 KB
08/12/2024 10:35:39 AM
rw-r--r--
📄
Topic.php
929 bytes
08/12/2024 10:35:39 AM
rw-r--r--
📄
TopicSubscription.php
1.2 KB
08/12/2024 10:35:39 AM
rw-r--r--
📄
TopicSubscriptions.php
950 bytes
08/12/2024 10:35:39 AM
rw-r--r--
📄
WebPushConfig.php
2.63 KB
08/12/2024 10:35:39 AM
rw-r--r--
Editing: MulticastSendReport.php
Close
<?php declare(strict_types=1); namespace Kreait\Firebase\Messaging; use Countable; use Kreait\Firebase\Exception\InvalidArgumentException; use Kreait\Firebase\Exception\MessagingApiExceptionConverter; use Kreait\Firebase\Http\Requests; use Kreait\Firebase\Http\Responses; use Kreait\Firebase\Messaging\Http\Request\MessageRequest; use Kreait\Firebase\Util\JSON; use Psr\Http\Message\RequestInterface; final class MulticastSendReport implements Countable { /** @var SendReport[] */ private array $items = []; private function __construct() { } /** * @param SendReport[] $items */ public static function withItems(array $items): self { $report = new self(); $report->items = $items; return $report; } public static function fromRequestsAndResponses(Requests $requests, Responses $responses): self { $reports = []; $errorHandler = new MessagingApiExceptionConverter(); foreach ($responses as $response) { $contentIdHeader = $response->getHeaderLine('Content-ID'); $contentIdHeaderParts = \explode('-', $contentIdHeader); if (!($responseId = \array_pop($contentIdHeaderParts) ?: null)) { continue; } $matchingRequest = $requests->findByContentId($responseId); if (!($matchingRequest instanceof RequestInterface)) { continue; } try { $requestData = JSON::decode((string) $matchingRequest->getBody(), true); } catch (InvalidArgumentException $e) { continue; } if ($token = $requestData['message']['token'] ?? null) { $target = MessageTarget::with(MessageTarget::TOKEN, (string) $token); } elseif ($topic = $requestData['message']['topic'] ?? null) { $target = MessageTarget::with(MessageTarget::TOPIC, (string) $topic); } elseif ($condition = $requestData['message']['condition'] ?? null) { $target = MessageTarget::with(MessageTarget::CONDITION, (string) $condition); } else { $target = MessageTarget::with(MessageTarget::UNKNOWN, 'unknown'); } $message = $matchingRequest instanceof MessageRequest ? $matchingRequest->message() : null; if ($response->getStatusCode() < 400) { try { $responseData = JSON::decode((string) $response->getBody(), true); } catch (InvalidArgumentException $e) { $responseData = []; } $reports[] = SendReport::success($target, $responseData, $message); } else { $error = $errorHandler->convertResponse($response); $reports[] = SendReport::failure($target, $error, $message); } } return self::withItems($reports); } /** * @deprecated 5.14.0 */ public function withAdded(SendReport $report): self { $new = clone $this; $new->items[] = $report; return $new; } /** * @return SendReport[] */ public function getItems(): array { return $this->items; } public function successes(): self { return $this->filter(static fn (SendReport $item) => $item->isSuccess()); } public function failures(): self { return $this->filter(static fn (SendReport $item) => $item->isFailure()); } public function hasFailures(): bool { return $this->failures()->count() > 0; } public function filter(callable $callback): self { $items = $this->items; return self::withItems(\array_values(\array_filter($items, $callback))); } /** * @return array<int, mixed> */ public function map(callable $callback): array { return \array_map($callback, $this->items); } /** * @return string[] */ public function validTokens(): array { return $this->successes() ->filter(static fn (SendReport $report) => $report->target()->type() === MessageTarget::TOKEN) ->map(static fn (SendReport $report) => $report->target()->value()) ; } /** * Returns all provided registration tokens that were not reachable. * * @return string[] */ public function unknownTokens(): array { return $this ->filter(static fn (SendReport $report) => $report->messageWasSentToUnknownToken()) ->map(static fn (SendReport $report) => $report->target()->value()) ; } /** * Returns all provided registration tokens that were invalid. * * @return string[] */ public function invalidTokens(): array { return $this ->filter(static fn (SendReport $report) => $report->messageTargetWasInvalid()) ->map(static fn (SendReport $report) => $report->target()->value()) ; } public function count(): int { return \count($this->items); } }