fixed
This commit is contained in:
74
front/vendor/textalk/websocket/lib/Message/Message.php
vendored
Normal file
74
front/vendor/textalk/websocket/lib/Message/Message.php
vendored
Normal file
@@ -0,0 +1,74 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Copyright (C) 2014-2022 Textalk/Abicart and contributors.
|
||||
*
|
||||
* This file is part of Websocket PHP and is free software under the ISC License.
|
||||
* License text: https://raw.githubusercontent.com/Textalk/websocket-php/master/COPYING
|
||||
*/
|
||||
|
||||
namespace WebSocket\Message;
|
||||
|
||||
use DateTime;
|
||||
|
||||
abstract class Message
|
||||
{
|
||||
protected $opcode;
|
||||
protected $payload;
|
||||
protected $timestamp;
|
||||
|
||||
public function __construct(string $payload = '')
|
||||
{
|
||||
$this->payload = $payload;
|
||||
$this->timestamp = new DateTime();
|
||||
}
|
||||
|
||||
public function getOpcode(): string
|
||||
{
|
||||
return $this->opcode;
|
||||
}
|
||||
|
||||
public function getLength(): int
|
||||
{
|
||||
return strlen($this->payload);
|
||||
}
|
||||
|
||||
public function getTimestamp(): DateTime
|
||||
{
|
||||
return $this->timestamp;
|
||||
}
|
||||
|
||||
public function getContent(): string
|
||||
{
|
||||
return $this->payload;
|
||||
}
|
||||
|
||||
public function setContent(string $payload = ''): void
|
||||
{
|
||||
$this->payload = $payload;
|
||||
}
|
||||
|
||||
public function hasContent(): bool
|
||||
{
|
||||
return $this->payload != '';
|
||||
}
|
||||
|
||||
public function __toString(): string
|
||||
{
|
||||
return get_class($this);
|
||||
}
|
||||
|
||||
// Split messages into frames
|
||||
public function getFrames(bool $masked = true, int $framesize = 4096): array
|
||||
{
|
||||
|
||||
$frames = [];
|
||||
$split = str_split($this->getContent(), $framesize) ?: [''];
|
||||
foreach ($split as $payload) {
|
||||
$frames[] = [false, $payload, 'continuation', $masked];
|
||||
}
|
||||
$frames[0][2] = $this->opcode;
|
||||
$frames[array_key_last($frames)][0] = true;
|
||||
return $frames;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user