Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/lookup-server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'server/index.php')
-rw-r--r--server/index.php79
1 files changed, 64 insertions, 15 deletions
diff --git a/server/index.php b/server/index.php
index 00470fd..816df3d 100644
--- a/server/index.php
+++ b/server/index.php
@@ -1,29 +1,78 @@
<?php
+use DI\Container;
+use LookupServer\Service\DependenciesService;
+use LookupServer\UserManager;
+use Psr\Http\Message\ResponseInterface;
+use Psr\Http\Message\ServerRequestInterface;
+use Slim\Factory\AppFactory;
+
require __DIR__ . '/vendor/autoload.php';
+$container = new Container();
+AppFactory::setContainer($container);
+$app = AppFactory::create();
+
$settings = require __DIR__ . '/src/config.php';
+$container->set('Settings', function ($c) use ($settings) {
+ return $settings;
+});
+
+
+$container->set('DependenciesService', function ($c) {
+ return new DependenciesService($c->get('Settings'));
+});
+
+
+$container->get('DependenciesService')->initContainer($container);
+//require __DIR__ . '/src/dependencies.php';
+
+
+//
+//
+
+//$container->set('BruteForceMiddleware', function (Container $c) {
+// return new \LookupServer\BruteForceMiddleware($c->get('db'));
+//});
+
+
+//$app->add(function (
+// \Psr\Http\Message\ServerRequestInterface $request,
+// \Psr\Http\Server\RequestHandlerInterface $handler,
+// $next
+//) {
+// return $next($request, $handler);
+//});
-$container = new \Slim\Container($settings);
+$app->setBasePath('/index.php');
-require __DIR__ . '/src/dependencies.php';
+$app->get(
+ '/users',
+ function (ServerRequestInterface $request, ResponseInterface $response, array $args) {
+ /** @var UserManager $userManager */
+ $userManager = $this->get('UserManager');
-$container['BruteForceMiddleware'] = function ($c) {
- return new \LookupServer\BruteForceMiddleware($c->db);
-};
+ return $userManager->search($request, $response, $args);
+ }
+);
-$app = new \Slim\App($container);
-$app->add($container->get('BruteForceMiddleware'));
+$app->post(
+ '/users',
+ function (ServerRequestInterface $request, ResponseInterface $response, array $args) {
+ /** @var UserManager $userManager */
+ $userManager = $this->get('UserManager');
+ return $userManager->register($request, $response, $args);
+ }
+);
-$app->get('/users', 'UserManager:search');
-$app->post('/users', 'UserManager:register');
-$app->post('/gs/users', 'UserManager:batchRegister');
-$app->delete('/gs/users', 'UserManager:batchDelete');
-$app->delete('/users', 'UserManager:delete');
-$app->get('/validate/email/{token}', 'EmailValidator:validate')->setName('validateEmail');
-$app->get('/status', 'Status:status');
-$app->get('/replication', 'Replication:export');
+//$app->post('/gs/users', 'UserManager:batchRegister');
+//$app->delete('/gs/users', 'UserManager:batchDelete');
+//$app->delete('/users', 'UserManager:delete');
+//$app->get('/validate/email/{token}', 'EmailValidator:validate')->setName('validateEmail');
+//$app->get('/status', 'Status:status');
+//
+//$app->get('/replication', 'Replication:export');
$app->run();