update logic and refactor code
This commit is contained in:
@ -5,6 +5,12 @@ declare(strict_types=1);
|
||||
use DI\ContainerBuilder;
|
||||
use Slim\Factory\AppFactory;
|
||||
use Dotenv\Dotenv;
|
||||
use App\Middleware\CorsMiddleware;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use App\Controllers\CaptchaController;
|
||||
use App\Controllers\ProxyController;
|
||||
use App\Controllers\LoginController;
|
||||
|
||||
require __DIR__ . '/../vendor/autoload.php';
|
||||
|
||||
@ -32,11 +38,11 @@ $containerBuilder->useAutowiring(true); // Enable autowiring globally
|
||||
|
||||
|
||||
// Add settings
|
||||
$settings = require __DIR__ . '/../src/Settings/settings.php';
|
||||
$settings = require __DIR__ . '/../src/Settings/Settings.php';
|
||||
$settings($containerBuilder);
|
||||
|
||||
// Add dependencies
|
||||
$dependencies = require __DIR__ . '/../src/Dependencies/dependencies.php';
|
||||
$dependencies = require __DIR__ . '/../src/Dependencies/Dependencies.php';
|
||||
$dependencies($containerBuilder);
|
||||
|
||||
// Build the container
|
||||
@ -49,22 +55,23 @@ AppFactory::setContainer($container);
|
||||
$app = AppFactory::create();
|
||||
|
||||
// 🔹 CORS middleware
|
||||
$app->add(function ($request, $handler) {
|
||||
$response = $handler->handle($request);
|
||||
$origin = $_SERVER['HTTP_ORIGIN'] ?? '*';
|
||||
$app->add(CorsMiddleware::class);
|
||||
|
||||
return $response
|
||||
->withHeader('Access-Control-Allow-Origin', $origin)
|
||||
->withHeader('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept, Authorization')
|
||||
->withHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, PATCH, DELETE, OPTIONS')
|
||||
->withHeader('Access-Control-Allow-Credentials', 'true');
|
||||
});
|
||||
|
||||
// Register middleware
|
||||
(require __DIR__ . '/../src/Bootstrap/middleware.php')($app);
|
||||
(require __DIR__ . '/../src/Bootstrap/Middleware.php')($app);
|
||||
|
||||
|
||||
// Register routes
|
||||
(require __DIR__ . '/../src/Bootstrap/routes.php')($app);
|
||||
|
||||
// API contianer proxy route
|
||||
$app->group('/api', function ($group) {
|
||||
$group->get('/captcha', [CaptchaController::class, 'get']);
|
||||
$group->post('/login', [LoginController::class, 'index']);
|
||||
|
||||
});
|
||||
|
||||
$app->any('/{routes:.*}', [ProxyController::class, 'forward']);
|
||||
|
||||
// Run app
|
||||
$app->run();
|
||||
|
||||
Reference in New Issue
Block a user