Пример #1
0
    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
|------------------------------------------------------------------
*/