コード例 #1
0
ファイル: functions.php プロジェクト: YounessTayer/directus
 /**
  * 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;
 }
コード例 #2
0
ファイル: api.php プロジェクト: YounessTayer/directus
/**
 * 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;