Download the PHP package fatcode/http-server without Composer
On this page you can find all versions of the php package fatcode/http-server. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package http-server
HttpServer
Requirements
>= PHP 7.2
swoole extension
zlib extension
Installation
composer install fatcode/http-server
Quick start
The above example creates server that uses router with registered one resource. Server will listen
on localhost
at port 8080
.
Please Note: Package is supporting PSR-7, that means all your registered handlers should expect
ServerRequestInterface
as an input, and returnResponseInterface
as a result.
Running server as a daemon
Http server provides flexible configuration class, depending on your settings server can be daemonized, run on specific port, listen to specific amount of incoming connections and so on.
More options can be found in the class docblock itself.
Middleware and PSR-15 support
Registering and using PSR-15 compatible middleware is trivial, just pass an instance of given middleware or closure itself
to HttpServer::use
method in the right order. In fact FatCode\HttpServer\Server\Router
class is PSR-15 middleware itself.
Request, Response and PSR-7
Http package provides convenient PSR-7 implementation based on zendframework/zend-diactoros
package.
Shortly saying FatCode\HttpServer\ServerRequest
and FatCode\HttpServer\Response
objects utilize zend-diactoros
exceptions and interface with some additions. When working with these objects please keep it in mind.
Creating new response object
For your convenience package declares HttpStatusCode
enum that helps with generation valid http responses.
More status codes can be found in the class itself..
Working with request object
Reading route parameters
When declaring parametrized route you can access retrieve the value by calling FatCode\HttpServer\ServerRequest::getAttribute
method.
Consider the following example:
For more examples you can visit examples directory.
All versions of http-server with dependencies
ext-zlib Version *
ext-json Version *
ext-simplexml Version *
fatcode/enum Version >=1.1
nikic/fast-route Version >=1.3
psr/http-message Version >=1.0
psr/http-server-middleware Version >=1.0
psr/simple-cache Version >=1.0
zendframework/zend-diactoros Version >=2.1