mirror of
https://github.com/flarum/framework.git
synced 2024-12-03 15:43:59 +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\Foundation\Application;
|
||||
use Flarum\Foundation\SiteInterface;
|
||||
use Illuminate\Contracts\Events\Dispatcher;
|
||||
use Symfony\Component\Console\Application as ConsoleApplication;
|
||||
|
||||
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()
|
||||
{
|
||||
$app = $this->site->bootApp();
|
||||
|
||||
$console = new ConsoleApplication('Flarum', Application::VERSION);
|
||||
|
||||
foreach ($this->commands as $command) {
|
||||
foreach ($app->getConsoleCommands() as $command) {
|
||||
$console->add($command);
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
namespace Flarum\Http;
|
||||
|
||||
use Psr\Http\Server\RequestHandlerInterface;
|
||||
use Flarum\Foundation\SiteInterface;
|
||||
use Throwable;
|
||||
use Zend\Diactoros\Response;
|
||||
use Zend\Diactoros\ServerRequest;
|
||||
|
@ -22,17 +22,19 @@ use Zend\Stratigility\Middleware\ErrorResponseGenerator;
|
|||
|
||||
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()
|
||||
{
|
||||
$app = $this->site->bootApp();
|
||||
|
||||
$runner = new RequestHandlerRunner(
|
||||
$this->requestHandler,
|
||||
$app->getRequestHandler(),
|
||||
new SapiEmitter,
|
||||
[ServerRequestFactory::class, 'fromGlobals'],
|
||||
function (Throwable $e) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user