datamatters24's picture
Upload web/public/index.php with huggingface_hub
da2c1b4 verified
<?php
declare(strict_types=1);
// ---------------------------------------------------------------------------
// Front Controller
// ---------------------------------------------------------------------------
require_once __DIR__ . '/../src/bootstrap.php';
// Apply security headers on every request
Security::applyHeaders();
// ---------------------------------------------------------------------------
// Route definitions
// ---------------------------------------------------------------------------
$router = new Router();
// Pages
$router->get('/', ['HomeController', 'index']);
$router->get('/browse', ['BrowseController', 'index']);
$router->get('/browse/{collection}', ['BrowseController', 'collection']);
$router->get('/document/{id}', ['DocumentController', 'show']);
$router->get('/search', ['SearchController', 'index']);
$router->get('/similar/{pageId}', ['SemanticController', 'similar']);
$router->get('/timeline', ['TimelineController', 'index']);
$router->get('/crisis/{id}', ['CrisisController', 'show']);
$router->get('/network', ['NetworkController', 'index']);
$router->get('/dashboard', ['DashboardController', 'index']);
$router->get('/pdf/{id}', ['PdfController', 'stream']);
// API (JSON)
$router->get('/api/search', ['ApiController', 'search']);
$router->get('/api/page/{docId}/{pageNum}', ['ApiController', 'pageText']);
$router->get('/api/stats', ['ApiController', 'stats']);
$router->get('/api/events', ['ApiController', 'events']);
$router->get('/api/document/{id}/events', ['ApiController', 'documentEvents']);
// ---------------------------------------------------------------------------
// Dispatch
// ---------------------------------------------------------------------------
$uri = $_SERVER['REQUEST_URI'] ?? '/';
$method = $_SERVER['REQUEST_METHOD'] ?? 'GET';
$router->dispatch($uri, $method);