2017 © Pedro Peláez
 

library http-server

Thruster HttpServer Component

image

thruster/http-server

Thruster HttpServer Component

  • Tuesday, May 31, 2016
  • by gcds
  • Repository
  • 1 Watchers
  • 1 Stars
  • 215 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 5 Versions
  • 17 % Grown

The README.md

HttpServer Component

[Latest Version] (https://github.com/ThrusterIO/http-server/releases) [Software License] (LICENSE) [Build Status] (https://travis-ci.org/ThrusterIO/http-server) [Code Coverage] (https://scrutinizer-ci.com/g/ThrusterIO/http-server) [Quality Score] (https://scrutinizer-ci.com/g/ThrusterIO/http-server) [Total Downloads] (https://packagist.org/packages/thruster/http-server), (*1)

[Email] (mailto:team@thruster.io), (*2)

The Thruster HttpServer Component., (*3)

Install

Via Composer, (*4)

``` bash $ composer require thruster/http-server, (*5)



## Usage HTTP Server accepts Thruster Socket Server, `ServerApplicationInteface` implementing object and EventLoop ```php use GuzzleHttp\Psr7\Response; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\ServerRequestInterface; use Thruster\Component\EventLoop\EventLoop; use Thruster\Component\Socket\Server; use Thruster\Component\HttpServer\HttpServer; use Thruster\Component\ServerApplication\SynchronousServerApplication; $application = new class extends SynchronousServerApplication { /** * {@inheritDoc} */ public function processRequestSynchronously(ServerRequestInterface $request) : ResponseInterface { $response = new Response(200); $response->getBody()->write('Hello World!'); return $response; } public function preloadApplication() { } }; $loop = new EventLoop(); $socket = new Server($loop); $httpServer = HttpServer::create($application) ->attachTo($socket) ->enableDebug(); $socket->listen(1337, '0.0.0.0'); $loop->run();

Benchmark results

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)

Testing

bash $ composer test, (*6)

Contributing

Please see CONTRIBUTING and CONDUCT for details., (*7)

License

Please see License File for more information., (*8)

The Versions

23/01 2016
10/01 2016

0.1.0

0.1.0.0 https://thruster.io

Thruster HttpServer Component

  Sources   Download

MIT

The Requires

 

The Development Requires

server http http-server httpserver thruster