Skip to content

Commit d28c30e

Browse files
committed
Add call for the ResourceController to the index.php file.
1 parent aebd3e6 commit d28c30e

1 file changed

Lines changed: 30 additions & 1 deletion

File tree

web/index.php

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
use League\Route\Strategy\ApplicationStrategy;
1919

2020
use Pdsinterop\Solid\Controller\AddSlashToPathController;
21-
use Pdsinterop\Solid\Controller\AuthorizeController;
2221
use Pdsinterop\Solid\Controller\ApprovalController;
22+
use Pdsinterop\Solid\Controller\AuthorizeController;
2323
use Pdsinterop\Solid\Controller\CorsController;
2424
use Pdsinterop\Solid\Controller\HandleApprovalController;
2525
use Pdsinterop\Solid\Controller\HelloWorldController;
@@ -31,7 +31,9 @@
3131
use Pdsinterop\Solid\Controller\Profile\CardController;
3232
use Pdsinterop\Solid\Controller\Profile\ProfileController;
3333
use Pdsinterop\Solid\Controller\RegisterController;
34+
use Pdsinterop\Solid\Controller\ResourceController;
3435
use Pdsinterop\Solid\Controller\TokenController;
36+
use Pdsinterop\Solid\Resources\Server as ResourceServer;
3537

3638
use Psr\Http\Message\ResponseInterface;
3739
use Psr\Http\Message\ServerRequestInterface;
@@ -80,6 +82,16 @@
8082
return $template;
8183
});
8284

85+
$container->add(ResourceController::class, function () use ($container) {
86+
$filesystem = $container-> get(FilesystemInterface::class);
87+
88+
require_once __DIR__ . '/../lib/solid-crud/src/Server.php';
89+
90+
$server = new ResourceServer($filesystem, new Response());
91+
92+
return new ResourceController($server);
93+
});
94+
8395
$controllers = [
8496
AddSlashToPathController::class,
8597
ApprovalController::class,
@@ -149,6 +161,23 @@
149161
$router->map('POST', '/token', TokenController::class)->setScheme($scheme);
150162
$router->map('POST', '/token/', TokenController::class)->setScheme($scheme);
151163

164+
$router->group('/data', static function (\League\Route\RouteGroup $group) {
165+
$methods = [
166+
'DELETE',
167+
'GET',
168+
'HEAD',
169+
// 'OPTIONS', // @TODO: This breaks because of the CorsController being added to `OPTION /*` in the index.php
170+
'PATCH',
171+
'POST',
172+
'PUT',
173+
];
174+
175+
array_walk($methods, static function ($method) use (&$group) {
176+
$group->map($method, '/', AddSlashToPathController::class);
177+
$group->map($method, '{path:.*}', ResourceController::class);
178+
});
179+
})->setScheme($scheme);
180+
152181
try {
153182
$response = $router->dispatch($request);
154183
} catch (HttpException $exception) {

0 commit comments

Comments
 (0)