[]
(https://github.com/ThrusterIO/http-server/releases)
[
]
(LICENSE)
[
]
(https://travis-ci.org/ThrusterIO/http-server)
[
]
(https://scrutinizer-ci.com/g/ThrusterIO/http-server)
[
]
(https://scrutinizer-ci.com/g/ThrusterIO/http-server)
[
]
(https://packagist.org/packages/thruster/http-server)
The Thruster HttpServer Component.
Via Composer
$ composer require thruster/http-serverHTTP Server accepts Thruster Socket Server, ServerApplicationInteface implementing object and EventLoop
useGuzzleHttp\Psr7\Response;
usePsr\Http\Message\ResponseInterface;
usePsr\Http\Message\ServerRequestInterface;
useThruster\Component\EventLoop\EventLoop;
useThruster\Component\Socket\Server;
useThruster\Component\HttpServer\HttpServer;
useThruster\Component\ServerApplication\SynchronousServerApplication;
$application = newclassextends SynchronousServerApplication {
/** * {@inheritDoc} */publicfunctionprocessRequestSynchronously(ServerRequestInterface$request) : ResponseInterface
{
$response = newResponse(200);
$response->getBody()->write('Hello World!');
return$response;
}
publicfunctionpreloadApplication()
{
}
};
$loop = newEventLoop();
$socket = newServer($loop);
$httpServer = HttpServer::create($application)
->attachTo($socket)
->enableDebug();
$socket->listen(1337, '0.0.0.0');
$loop->run();Server Software:
Server Hostname: 127.0.0.1
Server Port: 1337
Document Path: /
Document Length: 22 bytes
Concurrency Level: 10
Time taken for tests: 2.148 seconds
Complete requests: 10000
Failed requests: 0
Total transferred: 1340000 bytes
HTML transferred: 220000 bytes
Requests per second: 4655.03 [#/sec] (mean)
Time per request: 2.148 [ms] (mean)
Time per request: 0.215 [ms] (mean, across all concurrent requests)
Transfer rate: 609.15 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.0 0 0
Processing: 1 2 0.9 2 11
Waiting: 1 2 0.9 2 11
Total: 1 2 0.9 2 11
Percentage of the requests served within a certain time (ms)
50% 2
66% 2
75% 2
80% 2
90% 3
95% 3
98% 5
99% 7
100% 11 (longest request)
$ composer testPlease see CONTRIBUTING and CONDUCT for details.
Please see License File for more information.