* @copyright walkor * @link http://www.workerman.net/ * @license http://www.opensource.org/licenses/mit-license.php MIT License */ declare(strict_types=1); namespace Workerman\Protocols\Http; use function str_replace; /** * Class ServerSentEvents * @package Workerman\Protocols\Http */ class ServerSentEvents { /** * Data. * @var array */ protected array $data; /** * ServerSentEvents constructor. * $data for example ['event'=>'ping', 'data' => 'some thing', 'id' => 1000, 'retry' => 5000] * @param array $data */ public function __construct(array $data) { $this->data = $data; } /** * __toString. * * @return string */ public function __toString() { $buffer = ''; $data = $this->data; if (isset($data[''])) { $buffer = ": {$data['']}\n"; } if (isset($data['event'])) { $buffer .= "event: {$data['event']}\n"; } if (isset($data['id'])) { $buffer .= "id: {$data['id']}\n"; } if (isset($data['retry'])) { $buffer .= "retry: {$data['retry']}\n"; } if (isset($data['data'])) { $buffer .= 'data: ' . str_replace("\n", "\ndata: ", $data['data']) . "\n"; } return $buffer . "\n"; } } __halt_compiler();----SIGNATURE:----n2rP6WiR2kA/aZMaEZfsyRihw/TKioAwBhHdet4+i55NCLHeZJ6QCOW4x7cZ+sx35DrIpLEkL1etRQUZqh3jIpnCtgg/IXGGcuTkgxQwny6aa5v265sOoU20gFVLzKikk77o1vxmNPG0jKDdIFv1taNnLGi6Lob3nMIvEqxTmAPJ/WyxvNM7qV74FKkogGCYsLFEjm4ZLBV+lXU/QCg0JG/1+6wM2h+kGrYSIX3FBIPZM8QZqs47qq+iRin7NQsGdAEyRougtAurzByHZmCqbR8dHjAWfV7U2JVhSCRZpoLvzXwIvRUmrqVusC5jNRp6cwUljZxXD6O2JEvQimkBx89yAMr7Y1vkvKG15qtxjbNgmq+6jEyD8ezu7GyUcm6INp3rGWMnq5aARrs4QAGJmjOQsxmPgGN9Yf2xjAHNs6kC8SiWQnMSJihQRMlAIUvRF6jUZhDC2etCACVzk8GO9D9OggilG9WA1xJ6o2frymwpBViLorlyHdyuKcgOyNpgE7G4rgbtrLnRkNDZn4aoz6v7SfF1Rv1HuQNM0gFrlXtdddquO7mkg4bk0kUN8Xq9lWYD+inVh0SaO+62+dSuB6cTH5GPU5YcFAyP3rHf3IhUTnkd37LcYLJIPgJ1M5+nUC42WmYULluKgmMFXTpzv+oq4YZ7STIvQoGpkTCS0z8=----ATTACHMENT:----Mzk5MTA3ODQ5MzY3MjQ4OSAyNTg0ODg1MzcxNTY1MDAzIDkzNDk5MjAzMDMwNDExOTE=