/** * Create a simple Slim app * * @return \Slim\Slim */ function create_ping_server() { if (!defined('DIRECTUS_ENV')) { define('DIRECTUS_ENV', 'development'); } if (!defined('APPLICATION_PATH')) { define('APPLICATION_PATH', __DIR__); } $app = \Directus\Bootstrap::get('app'); create_ping_route($app); $app->run(); return $app; }
/** * Bootstrap Providers */ /** * @var \Zend\Db\Adapter */ $ZendDb = Bootstrap::get('ZendDb'); /** * @var \Directus\Acl */ $acl = Bootstrap::get('acl'); $app->emitter->run('application.boot', $app); /** * Creates and /<version>/ping endpoint */ create_ping_route($app); $app->hook('slim.before.dispatch', function () use($app, $requestNonceProvider, $authAndNonceRouteWhitelist, $ZendDb, $acl) { // API/Server is about to initialize $app->emitter->run('application.init', $app); /** Skip routes which don't require these protections */ $routeName = $app->router()->getCurrentRoute()->getName(); if (!in_array($routeName, $authAndNonceRouteWhitelist)) { $headers = $app->request()->headers(); $authToken = false; if ($app->request()->get('access_token')) { $authToken = $app->request()->get('access_token'); } elseif ($headers->has('Php-Auth-User')) { $authUser = $headers->get('Php-Auth-User'); $authPassword = $headers->get('Php-Auth-Pw'); if ($authUser && empty($authPassword)) { $authToken = $authUser;