/swoole-psr7-compat

Swoole PSR-7 Compatibility Package

Primary LanguagePHPMIT LicenseMIT

Openswoole PSR-7 Compatibility Package

Build Status Coverage Status

PSR compatibility adapters for Openswoole

Install

Via Composer

$ composer require compwright/swoole-psr7-compat

Usage

use Compwright\SwoolePsr7Compat\SwoolePsrRequestFactory;
use Compwright\SwoolePsr7Compat\SwoolePsrHandler;
use Nyholm\Psr7Server\ServerRequestCreator;

$serverRequestCreator = new ServerRequestCreator(
    // Pass in the factories here for your desired PSR-7 implementation
    new \Laminas\Diactoros\ServerRequestFactory(),
    new \Laminas\Diactoros\UriFactory(),
    new \Laminas\Diactoros\UploadedFileFactory(),
    new \Laminas\Diactoros\StreamFactory()
);
$requestFactory = new SwoolePsrRequestFactory($serverRequestCreator);
$handler = new SwoolePsrHandler($requestFactory);

$server = new Swoole\HTTP\Server('0.0.0.0', 9501);

// $app is any Psr\Http\Server\RequestHandlerInterface
$server->on('request', $handler($app));

$server->start();