@@ -20,7 +20,7 @@ are always welcome!
20
20
21
21
## Requirements
22
22
23
- - PHP 7.1 +
23
+ - PHP 7.2 +
24
24
25
25
## Example
26
26
@@ -32,16 +32,16 @@ are always welcome!
32
32
// amphp/http-server-static-content
33
33
// amphp/log
34
34
35
+ use Amp\Http\Server\HttpServer;
35
36
use Amp\Http\Server\Request;
36
37
use Amp\Http\Server\Response;
37
38
use Amp\Http\Server\Router;
38
- use Amp\Http\Server\Server;
39
39
use Amp\Http\Server\StaticContent\DocumentRoot;
40
40
use Amp\Log\ConsoleFormatter;
41
41
use Amp\Log\StreamHandler;
42
42
use Amp\Loop;
43
43
use Amp\Promise;
44
- use Amp\Socket;
44
+ use Amp\Socket\Server as SocketServer ;
45
45
use Amp\Success;
46
46
use Amp\Websocket\Client;
47
47
use Amp\Websocket\Message;
@@ -64,7 +64,7 @@ $websocket = new class extends Websocket {
64
64
65
65
public function handleClient(Client $client, Request $request, Response $response): Promise
66
66
{
67
- return call(function() use($client) {
67
+ return call(function() use ($client): \Generator {
68
68
while ($message = yield $client->receive()) {
69
69
\assert($message instanceof Message);
70
70
$this->broadcast(\sprintf('%d: %s', $client->getId(), yield $message->buffer()));
@@ -73,23 +73,23 @@ $websocket = new class extends Websocket {
73
73
}
74
74
};
75
75
76
- $sockets = [
77
- Socket\listen('127.0.0.1:1337'),
78
- Socket\listen('[::1]:1337'),
79
- ];
76
+ Loop::run(function () use ($websocket): Promise {
77
+ $sockets = [
78
+ SocketServer::listen('127.0.0.1:1337'),
79
+ SocketServer::listen('[::1]:1337'),
80
+ ];
80
81
81
- $router = new Router;
82
- $router->addRoute('GET', '/broadcast', $websocket);
83
- $router->setFallback(new DocumentRoot(__DIR__ . '/public'));
82
+ $router = new Router;
83
+ $router->addRoute('GET', '/broadcast', $websocket);
84
+ $router->setFallback(new DocumentRoot(__DIR__ . '/public'));
84
85
85
- $logHandler = new StreamHandler(getStdout());
86
- $logHandler->setFormatter(new ConsoleFormatter);
87
- $logger = new Logger('server');
88
- $logger->pushHandler($logHandler);
86
+ $logHandler = new StreamHandler(getStdout());
87
+ $logHandler->setFormatter(new ConsoleFormatter);
88
+ $logger = new Logger('server');
89
+ $logger->pushHandler($logHandler);
89
90
90
- $server = new Server ($sockets, $router, $logger);
91
+ $server = new HttpServer ($sockets, $router, $logger);
91
92
92
- Loop::run(function () use ($server) {
93
- yield $server->start();
93
+ return $server->start();
94
94
});
95
95
```
0 commit comments