blob: 392b8b0eb227a4f2409c7ad101a8330b882e5063 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<?php
use Slim\Factory\AppFactory;
require __DIR__ . '/../lib/bootstrap.php';
\StudipAutoloader::addAutoloadPath($GLOBALS['STUDIP_BASE_PATH'] . DIRECTORY_SEPARATOR . 'vendor/oauth-php/library/');
// Set base url for URLHelper class
URLHelper::setBaseUrl($GLOBALS['CANONICAL_RELATIVE_PATH_STUDIP']);
// Instantiate the app
$container = app();
AppFactory::setContainer($container);
$app = AppFactory::create();
$container->set(\Slim\App::class, $app);
// Set the base path
$app->setBasePath($GLOBALS['CANONICAL_RELATIVE_PATH_STUDIP'] . 'jsonapi.php');
// Register middleware
$middleware = require 'lib/classes/JsonApi/middleware.php';
$middleware($app);
// Register routes via middleware
$app->add(Studip\Middleware\JsonApiRouteRegistrarMiddleware::class);
//register stud.ip session/auth middleware
$app->add(Studip\Middleware\AuthenticationMiddleware::class);
auth()->setNobody(true);
$app->add(Studip\Middleware\SessionMiddleware::class);
// Add Error Middleware
$displayErrors = false;
if (defined('\\Studip\\ENV')) {
$displayErrors = constant('\\Studip\\ENV') === 'development';
}
$logError = true;
$logErrorDetails = true;
$errorMiddleware = $app->addErrorMiddleware($displayErrors, $logError, $logErrorDetails);
$errorMiddleware->setDefaultErrorHandler(new \JsonApi\Errors\ErrorHandler($app));
// Run app
$app->run();
|