mirror of https://github.com/flarum/flarum
Split API and frontend controllers
parent
b639c45526
commit
f521f6640b
|
@ -0,0 +1,31 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Psr\Http\Message\ResponseInterface as Response;
|
||||||
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||||
|
use Zend\Diactoros\Server;
|
||||||
|
use Zend\Stratigility\MiddlewarePipe;
|
||||||
|
|
||||||
|
// Instantiate the application, register providers etc.
|
||||||
|
$app = require __DIR__.'/system/bootstrap.php';
|
||||||
|
|
||||||
|
// Set up everything we need for the API
|
||||||
|
$app->register('Flarum\Api\ApiServiceProvider');
|
||||||
|
|
||||||
|
// Build a middleware pipeline for the API
|
||||||
|
$api = new MiddlewarePipe();
|
||||||
|
$api->pipe($app->make('Flarum\Api\Middleware\ReadJsonParameters'));
|
||||||
|
$api->pipe($app->make('Flarum\Api\Middleware\LoginWithHeader'));
|
||||||
|
|
||||||
|
$api->pipe('api.php', $app->make('Flarum\Http\RouterMiddleware', ['routes' => $app->make('flarum.api.routes')]));
|
||||||
|
$api->pipe(new \Franzl\Middleware\Whoops\Middleware());
|
||||||
|
|
||||||
|
$server = Server::createServer(
|
||||||
|
$api,
|
||||||
|
$_SERVER,
|
||||||
|
$_GET,
|
||||||
|
$_POST,
|
||||||
|
$_COOKIE,
|
||||||
|
$_FILES
|
||||||
|
);
|
||||||
|
|
||||||
|
$server->listen();
|
19
index.php
19
index.php
|
@ -3,31 +3,26 @@
|
||||||
use Psr\Http\Message\ResponseInterface as Response;
|
use Psr\Http\Message\ResponseInterface as Response;
|
||||||
use Psr\Http\Message\ServerRequestInterface as Request;
|
use Psr\Http\Message\ServerRequestInterface as Request;
|
||||||
use Zend\Diactoros\Server;
|
use Zend\Diactoros\Server;
|
||||||
use Zend\Stratigility\Http\Response as ZendResponse;
|
|
||||||
use Zend\Stratigility\MiddlewarePipe;
|
use Zend\Stratigility\MiddlewarePipe;
|
||||||
|
|
||||||
// Instantiate the application, register providers etc.
|
// Instantiate the application, register providers etc.
|
||||||
$app = require __DIR__.'/system/bootstrap.php';
|
$app = require __DIR__.'/system/bootstrap.php';
|
||||||
|
|
||||||
|
// Set up everything we need for the frontend
|
||||||
|
$app->register('Flarum\Forum\ForumServiceProvider');
|
||||||
|
$app->register('Flarum\Admin\AdminServiceProvider');
|
||||||
|
|
||||||
// Build a middleware pipeline for Flarum
|
// Build a middleware pipeline for Flarum
|
||||||
$flarum = new MiddlewarePipe();
|
$flarum = new MiddlewarePipe();
|
||||||
$flarum->pipe($app->make('Flarum\Forum\Middleware\LoginWithCookie'));
|
$flarum->pipe($app->make('Flarum\Forum\Middleware\LoginWithCookie'));
|
||||||
|
|
||||||
$api = new MiddlewarePipe();
|
|
||||||
$flarum->pipe($app->make('Flarum\Api\Middleware\ReadJsonParameters'));
|
$flarum->pipe($app->make('Flarum\Api\Middleware\ReadJsonParameters'));
|
||||||
$api->pipe($app->make('Flarum\Api\Middleware\LoginWithHeader'));
|
|
||||||
|
|
||||||
$admin = new MiddlewarePipe();
|
$admin = new MiddlewarePipe();
|
||||||
$admin->pipe($app->make('Flarum\Admin\Middleware\LoginWithCookieAndCheckAdmin'));
|
$admin->pipe($app->make('Flarum\Admin\Middleware\LoginWithCookieAndCheckAdmin'));
|
||||||
|
$admin->pipe($app->make('Flarum\Http\RouterMiddleware', ['routes' => $app->make('flarum.admin.routes')]));
|
||||||
|
|
||||||
$flarum->pipe('/api', $api);
|
$flarum->pipe('/admin.php', $admin);
|
||||||
$flarum->pipe('/admin', $admin);
|
$flarum->pipe('/index.php', $app->make('Flarum\Http\RouterMiddleware', ['routes' => $app->make('flarum.forum.routes')]));
|
||||||
$flarum->pipe(function(Request $request, Response $response, $next) use ($app) {
|
|
||||||
/** @var Flarum\Http\Router $router */
|
|
||||||
$router = $app->make('Flarum\Http\Router');
|
|
||||||
|
|
||||||
return new ZendResponse($router->dispatch($request));
|
|
||||||
});
|
|
||||||
|
|
||||||
$server = Server::createServer(
|
$server = Server::createServer(
|
||||||
$flarum,
|
$flarum,
|
||||||
|
|
|
@ -114,11 +114,9 @@ return [
|
||||||
* Laravel Framework Service Providers...
|
* Laravel Framework Service Providers...
|
||||||
*/
|
*/
|
||||||
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
|
'Illuminate\Foundation\Providers\ArtisanServiceProvider',
|
||||||
// 'Illuminate\Auth\AuthServiceProvider',
|
|
||||||
'Illuminate\Bus\BusServiceProvider',
|
'Illuminate\Bus\BusServiceProvider',
|
||||||
'Illuminate\Cache\CacheServiceProvider',
|
'Illuminate\Cache\CacheServiceProvider',
|
||||||
'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
|
'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider',
|
||||||
//'Illuminate\Routing\ControllerServiceProvider',
|
|
||||||
'Illuminate\Cookie\CookieServiceProvider',
|
'Illuminate\Cookie\CookieServiceProvider',
|
||||||
'Illuminate\Database\DatabaseServiceProvider',
|
'Illuminate\Database\DatabaseServiceProvider',
|
||||||
'Illuminate\Encryption\EncryptionServiceProvider',
|
'Illuminate\Encryption\EncryptionServiceProvider',
|
||||||
|
@ -129,20 +127,15 @@ return [
|
||||||
'Illuminate\Pagination\PaginationServiceProvider',
|
'Illuminate\Pagination\PaginationServiceProvider',
|
||||||
'Illuminate\Pipeline\PipelineServiceProvider',
|
'Illuminate\Pipeline\PipelineServiceProvider',
|
||||||
'Illuminate\Queue\QueueServiceProvider',
|
'Illuminate\Queue\QueueServiceProvider',
|
||||||
'Illuminate\Redis\RedisServiceProvider',
|
|
||||||
'Illuminate\Auth\Passwords\PasswordResetServiceProvider',
|
|
||||||
'Illuminate\Session\SessionServiceProvider',
|
'Illuminate\Session\SessionServiceProvider',
|
||||||
'Illuminate\Translation\TranslationServiceProvider',
|
'Illuminate\Translation\TranslationServiceProvider',
|
||||||
'Illuminate\Validation\ValidationServiceProvider',
|
'Illuminate\Validation\ValidationServiceProvider',
|
||||||
'Illuminate\View\ViewServiceProvider',
|
'Illuminate\View\ViewServiceProvider',
|
||||||
|
|
||||||
'Flarum\Core\CoreServiceProvider',
|
'Flarum\Core\CoreServiceProvider',
|
||||||
'Flarum\Support\Extensions\ExtensionsServiceProvider',
|
'Flarum\Support\Extensions\ExtensionsServiceProvider',
|
||||||
|
|
||||||
'Flarum\Api\ApiServiceProvider',
|
|
||||||
'Flarum\Forum\ForumServiceProvider',
|
|
||||||
'Flarum\Console\ConsoleServiceProvider',
|
'Flarum\Console\ConsoleServiceProvider',
|
||||||
'Flarum\Admin\AdminServiceProvider',
|
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue