Skip to content

Instantly share code, notes, and snippets.

@Alex-Bond
Created December 25, 2018 05:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Alex-Bond/ebfbe3ab6393b0eae5ecf7f798272641 to your computer and use it in GitHub Desktop.
Save Alex-Bond/ebfbe3ab6393b0eae5ecf7f798272641 to your computer and use it in GitHub Desktop.
<?php
require __DIR__ . "/vendor/autoload.php";
use Symfony\Bridge\PsrHttpMessage\Factory\DiactorosFactory;
use Symfony\Bridge\PsrHttpMessage\Factory\HttpFoundationFactory;
$relay = new Spiral\Goridge\StreamRelay(STDIN, STDOUT);
$psr7 = new Spiral\RoadRunner\PSR7Client(new Spiral\RoadRunner\Worker($relay));
$app = require_once __DIR__ . '/bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
while ($req = $psr7->acceptRequest()) {
try {
$httpFoundationFactory = new HttpFoundationFactory();
$request = Illuminate\Http\Request::createFromBase($httpFoundationFactory->createRequest($req));
$response = $kernel->handle($request);
$psr7factory = new DiactorosFactory();
$psr7response = $psr7factory->createResponse($response);
$psr7->respond($psr7response);
} catch (\Throwable $e) {
$psr7->getWorker()->error((string)$e);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment