<?php require_once realpath(__DIR__ . '/../vendor/autoload.php'); use Slovocast\Bootstrap; use React\Http\HttpServer; use React\Socket\SocketServer; use Psr\Http\Message\ServerRequestInterface as Request; try { $app = Bootstrap::init(); $http = new HttpServer(fn (Request $request) => $app->handle($request)); $address = "0.0.0.0"; $port = "8000"; $socket = new SocketServer($address . ":" . $port); $http->on('error', function ($error) use ($socket) { fprintf(STDERR, $error->getMessage() . "\n"); fprintf(STDERR, "Closing socket connection.\n"); $socket->close(); }); $http->on('exit', function () use ($socket) { fprintf(STDOUT, "Closing socket connection.\n"); $socket->close(); }); $http->listen($socket); fprintf(STDOUT, "Server running on %s\n", $address); } catch (\Exception $e) { fprintf(STDERR, "Error caught bootstrapping the application\n"); fprintf(STDERR, $e->getMessage() . "\n"); return -1; }