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 | ||||
| 
 | ||||
| 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'; | ||||
| 
 | ||||
| $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( | ||||
| 	$request = Illuminate\Http\Request::capture() | ||||
| $api = new MiddlewarePipe(); | ||||
| $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(); | ||||
| 
 | ||||
| $kernel->terminate($request, $response); | ||||
| $server->listen(); | ||||
|  |  | |||
|  | @ -8,19 +8,26 @@ $app = new Illuminate\Foundation\Application( | |||
| ); | ||||
| $app->instance('path.public', __DIR__.'/..'); | ||||
| 
 | ||||
| use Illuminate\Foundation\Http\Kernel as IlluminateHttpKernel; | ||||
| $middleware = [ | ||||
| 	'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode', | ||||
| 	'Illuminate\Cookie\Middleware\EncryptCookies', | ||||
| 	'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', | ||||
| 	'Illuminate\Session\Middleware\StartSession', | ||||
| 	'Illuminate\View\Middleware\ShareErrorsFromSession', | ||||
| 	// 'App\Http\Middleware\VerifyCsrfToken',
 | ||||
| ]; | ||||
| 
 | ||||
| class HttpKernel extends IlluminateHttpKernel { | ||||
| 	protected $middleware = [ | ||||
| 		'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode', | ||||
| 		'Illuminate\Cookie\Middleware\EncryptCookies', | ||||
| 		'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', | ||||
| 		'Illuminate\Session\Middleware\StartSession', | ||||
| 		'Illuminate\View\Middleware\ShareErrorsFromSession', | ||||
| 		// '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; | ||||
| 
 | ||||
|  |  | |||
|  | @ -118,7 +118,7 @@ return [ | |||
| 		'Illuminate\Bus\BusServiceProvider', | ||||
| 		'Illuminate\Cache\CacheServiceProvider', | ||||
| 		'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider', | ||||
| 		'Illuminate\Routing\ControllerServiceProvider', | ||||
| 		//'Illuminate\Routing\ControllerServiceProvider',
 | ||||
| 		'Illuminate\Cookie\CookieServiceProvider', | ||||
| 		'Illuminate\Database\DatabaseServiceProvider', | ||||
| 		'Illuminate\Encryption\EncryptionServiceProvider', | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Franz Liedke
						Franz Liedke