mirror of https://github.com/flarum/flarum
Revamp bootstrapping process to use PSR-7 middleware
parent
334cebbf6f
commit
65c4a49ecf
42
index.php
42
index.php
|
@ -1,13 +1,43 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use Psr\Http\Message\ResponseInterface as Response;
|
||||||
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||||
|
use Zend\Diactoros\Server;
|
||||||
|
use Zend\Stratigility\Http\Response as ZendResponse;
|
||||||
|
use Zend\Stratigility\MiddlewarePipe;
|
||||||
|
|
||||||
|
// Instantiate the application, register providers etc.
|
||||||
$app = require __DIR__.'/system/bootstrap.php';
|
$app = require __DIR__.'/system/bootstrap.php';
|
||||||
|
|
||||||
$kernel = $app->make('Illuminate\Contracts\Http\Kernel');
|
// Build a middleware pipeline for Flarum
|
||||||
|
$flarum = new MiddlewarePipe();
|
||||||
|
$flarum->pipe($app->make('Flarum\Forum\Middleware\LoginWithCookie'));
|
||||||
|
|
||||||
$response = $kernel->handle(
|
$api = new MiddlewarePipe();
|
||||||
$request = Illuminate\Http\Request::capture()
|
$api->pipe($app->make('Flarum\Api\Middleware\ReadJsonParameters'));
|
||||||
|
$api->pipe($app->make('Flarum\Api\Middleware\LoginWithHeader'));
|
||||||
|
|
||||||
|
$admin = new MiddlewarePipe();
|
||||||
|
$admin->pipe($app->make('Flarum\Admin\Middleware\LoginWithCookieAndCheckAdmin'));
|
||||||
|
|
||||||
|
$flarum->pipe('/api', $api);
|
||||||
|
$flarum->pipe('/admin', $admin);
|
||||||
|
$flarum->pipe(function(Request $request, Response $response, $next) use ($app) {
|
||||||
|
/** @var Flarum\Http\Router $router */
|
||||||
|
$router = $app->make('Flarum\Http\Router');
|
||||||
|
|
||||||
|
$response = new ZendResponse($router->dispatch($request));
|
||||||
|
|
||||||
|
return $next($request, $response);
|
||||||
|
});
|
||||||
|
|
||||||
|
$server = Server::createServer(
|
||||||
|
$flarum,
|
||||||
|
$_SERVER,
|
||||||
|
$_GET,
|
||||||
|
$_POST,
|
||||||
|
$_COOKIE,
|
||||||
|
$_FILES
|
||||||
);
|
);
|
||||||
|
|
||||||
$response->send();
|
$server->listen();
|
||||||
|
|
||||||
$kernel->terminate($request, $response);
|
|
||||||
|
|
|
@ -8,10 +8,7 @@ $app = new Illuminate\Foundation\Application(
|
||||||
);
|
);
|
||||||
$app->instance('path.public', __DIR__.'/..');
|
$app->instance('path.public', __DIR__.'/..');
|
||||||
|
|
||||||
use Illuminate\Foundation\Http\Kernel as IlluminateHttpKernel;
|
$middleware = [
|
||||||
|
|
||||||
class HttpKernel extends IlluminateHttpKernel {
|
|
||||||
protected $middleware = [
|
|
||||||
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
|
'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
|
||||||
'Illuminate\Cookie\Middleware\EncryptCookies',
|
'Illuminate\Cookie\Middleware\EncryptCookies',
|
||||||
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
|
'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
|
||||||
|
@ -19,8 +16,18 @@ class HttpKernel extends IlluminateHttpKernel {
|
||||||
'Illuminate\View\Middleware\ShareErrorsFromSession',
|
'Illuminate\View\Middleware\ShareErrorsFromSession',
|
||||||
// 'App\Http\Middleware\VerifyCsrfToken',
|
// 'App\Http\Middleware\VerifyCsrfToken',
|
||||||
];
|
];
|
||||||
protected $routeMiddleware = [];
|
|
||||||
}
|
$bootstrappers = [
|
||||||
|
'Illuminate\Foundation\Bootstrap\DetectEnvironment',
|
||||||
|
'Illuminate\Foundation\Bootstrap\LoadConfiguration',
|
||||||
|
'Illuminate\Foundation\Bootstrap\ConfigureLogging',
|
||||||
|
//'Illuminate\Foundation\Bootstrap\HandleExceptions',
|
||||||
|
'Illuminate\Foundation\Bootstrap\RegisterFacades',
|
||||||
|
'Illuminate\Foundation\Bootstrap\RegisterProviders',
|
||||||
|
'Illuminate\Foundation\Bootstrap\BootProviders',
|
||||||
|
];
|
||||||
|
|
||||||
|
$app->bootstrapWith($bootstrappers);
|
||||||
|
|
||||||
use Illuminate\Foundation\Console\Kernel as IlluminateConsoleKernel;
|
use Illuminate\Foundation\Console\Kernel as IlluminateConsoleKernel;
|
||||||
|
|
||||||
|
|
|
@ -118,7 +118,7 @@ return [
|
||||||
'Illuminate\Bus\BusServiceProvider',
|
'Illuminate\Bus\BusServiceProvider',
|
||||||
'Illuminate\Cache\CacheServiceProvider',
|
'Illuminate\Cache\CacheServiceProvider',
|
||||||
'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
|
'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
|
||||||
'Illuminate\Routing\ControllerServiceProvider',
|
//'Illuminate\Routing\ControllerServiceProvider',
|
||||||
'Illuminate\Cookie\CookieServiceProvider',
|
'Illuminate\Cookie\CookieServiceProvider',
|
||||||
'Illuminate\Database\DatabaseServiceProvider',
|
'Illuminate\Database\DatabaseServiceProvider',
|
||||||
'Illuminate\Encryption\EncryptionServiceProvider',
|
'Illuminate\Encryption\EncryptionServiceProvider',
|
||||||
|
|
Loading…
Reference in New Issue