Skip to content

Instantly share code, notes, and snippets.

@carnage
Created July 27, 2020 14:45
Show Gist options
  • Save carnage/b716515f090b7fce4cb0561546976022 to your computer and use it in GitHub Desktop.
Save carnage/b716515f090b7fce4cb0561546976022 to your computer and use it in GitHub Desktop.
<?php
use Psr\Http\Message\ServerRequestInterface;
use React\Http\Message\Response;
use React\Promise\Deferred;
require __DIR__ . '/vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$server = new React\Http\Server($loop, static function (ServerRequestInterface $request) use ($loop) {
$duration = 1.5;
echo sprintf("Sleeping for %F\n", $duration);
$promise = new Deferred();
$loop->addTimer(1.5, function () use ($promise) {
echo "After Sleep";
$promise->resolve(new Response(200, [], 'Some reponse'));
});
return $promise;
});
$socket = new React\Socket\Server('127.0.0.1:8080', $loop);
echo "Server running at http://127.0.0.1:8080\n";
$server->listen($socket);
$loop->run();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment