| 
<?php
 require 'vendor/autoload.php';
 use Chat\App\Chat;
 
 set_time_limit(0);
 
 header('Content-Type: text/event-stream');
 header('Cache-Control: no-cache');
 
 session_write_close();
 $chat = new Chat();
 $lastId = isset($_GET['lastId']) ? (int)$_GET['lastId'] : 0;
 
 while (true) {
 if (connection_aborted()) {
 break;
 }
 $messages = $chat->getMessages($lastId);
 if (count($messages) > 0) {
 $lastMessage = end($messages);
 $lastId = $lastMessage['id'];
 
 echo "id: {$lastId}\n";
 echo "data: " . json_encode($messages) . "\n\n";
 }
 
 ob_flush();
 flush();
 sleep(1);
 }
 
 
 |