mirror of
https://github.com/flarum/framework.git
synced 2024-12-04 08:13:39 +08:00
Boot Flarum app in Server classes
This is in preparation for fixing #1421 - it allows us to encapsulate the exception handling in the server classes, so that we can keep the skeleton (flarum/flarum) lean.
This commit is contained in:
parent
5fa9e1a8a2
commit
d35532b744
|
@ -13,23 +13,26 @@ namespace Flarum\Console;
|
||||||
|
|
||||||
use Flarum\Console\Event\Configuring;
|
use Flarum\Console\Event\Configuring;
|
||||||
use Flarum\Foundation\Application;
|
use Flarum\Foundation\Application;
|
||||||
|
use Flarum\Foundation\SiteInterface;
|
||||||
use Illuminate\Contracts\Events\Dispatcher;
|
use Illuminate\Contracts\Events\Dispatcher;
|
||||||
use Symfony\Component\Console\Application as ConsoleApplication;
|
use Symfony\Component\Console\Application as ConsoleApplication;
|
||||||
|
|
||||||
class Server
|
class Server
|
||||||
{
|
{
|
||||||
protected $commands;
|
private $site;
|
||||||
|
|
||||||
public function __construct(array $commands)
|
public function __construct(SiteInterface $site)
|
||||||
{
|
{
|
||||||
$this->commands = $commands;
|
$this->site = $site;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function listen()
|
public function listen()
|
||||||
{
|
{
|
||||||
|
$app = $this->site->bootApp();
|
||||||
|
|
||||||
$console = new ConsoleApplication('Flarum', Application::VERSION);
|
$console = new ConsoleApplication('Flarum', Application::VERSION);
|
||||||
|
|
||||||
foreach ($this->commands as $command) {
|
foreach ($app->getConsoleCommands() as $command) {
|
||||||
$console->add($command);
|
$console->add($command);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
namespace Flarum\Http;
|
namespace Flarum\Http;
|
||||||
|
|
||||||
use Psr\Http\Server\RequestHandlerInterface;
|
use Flarum\Foundation\SiteInterface;
|
||||||
use Throwable;
|
use Throwable;
|
||||||
use Zend\Diactoros\Response;
|
use Zend\Diactoros\Response;
|
||||||
use Zend\Diactoros\ServerRequest;
|
use Zend\Diactoros\ServerRequest;
|
||||||
|
@ -22,17 +22,19 @@ use Zend\Stratigility\Middleware\ErrorResponseGenerator;
|
||||||
|
|
||||||
class Server
|
class Server
|
||||||
{
|
{
|
||||||
protected $requestHandler;
|
private $site;
|
||||||
|
|
||||||
public function __construct(RequestHandlerInterface $requestHandler)
|
public function __construct(SiteInterface $site)
|
||||||
{
|
{
|
||||||
$this->requestHandler = $requestHandler;
|
$this->site = $site;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function listen()
|
public function listen()
|
||||||
{
|
{
|
||||||
|
$app = $this->site->bootApp();
|
||||||
|
|
||||||
$runner = new RequestHandlerRunner(
|
$runner = new RequestHandlerRunner(
|
||||||
$this->requestHandler,
|
$app->getRequestHandler(),
|
||||||
new SapiEmitter,
|
new SapiEmitter,
|
||||||
[ServerRequestFactory::class, 'fromGlobals'],
|
[ServerRequestFactory::class, 'fromGlobals'],
|
||||||
function (Throwable $e) {
|
function (Throwable $e) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user