Route::resource('reports', 'Controllers\\API\\Reports'); Route::get('reports/{id}/run', array('uses' => 'Controllers\\API\\Reports@run')); Route::get('reports/{id}/graph', array('uses' => 'Controllers\\API\\Reports@graph')); // Adds routes for statements. Route::get('statements/where', ['uses' => 'Controllers\\API\\Statements@where']); Route::get('statements/aggregate', ['uses' => 'Controllers\\API\\Statements@aggregate']); Route::get('statements/aggregate/time', ['uses' => 'Controllers\\API\\Statements@aggregateTime']); Route::get('statements/aggregate/object', ['uses' => 'Controllers\\API\\Statements@aggregateObject']); }); /* |---------------------------------------------------------------------- | oAuth handling |---------------------------------------------------------------------- */ Route::post('oauth/access_token', function () { $bridgedRequest = OAuth2\HttpFoundationBridge\Request::createFromRequest(Request::instance()); $bridgedResponse = new OAuth2\HttpFoundationBridge\Response(); $bridgedResponse = App::make('oauth2')->handleTokenRequest($bridgedRequest, $bridgedResponse); return $bridgedResponse; }); //Add OPTIONS routes for all defined xAPI and api routes foreach (Route::getRoutes()->getIterator() as $route) { if ($route->getPrefix() === 'data/xAPI' || $route->getPrefix() === 'api/v1') { Route::options($route->getUri(), 'Controllers\\API\\Base@CORSOptions'); } } /* |------------------------------------------------------------------ | For routes that don't exist |------------------------------------------------------------------ */
<?php require_once __DIR__ . '/../vendor/autoload.php'; /** show all errors! */ ini_set('display_errors', 1); error_reporting(E_ALL); /** set up the silex application object */ $app = new Silex\Application(); $app->register(new Silex\Provider\UrlGeneratorServiceProvider()); $app->register(new Silex\Provider\TwigServiceProvider(), array('twig.path' => __DIR__ . '/../views')); $app['debug'] = true; /** set up routes / controllers */ $app->mount('/', new OAuth2Demo\Client\Client()); $app->mount('/lockdin', new OAuth2Demo\Server\Server()); // create an http foundation request implementing OAuth2\RequestInterface $request = OAuth2\HttpFoundationBridge\Request::createFromGlobals(); $app->run($request);