Jeroen De Meerleer
265128d725
- Adjusted handling of known paths to dynamically include additional routes if a specific directory exists, enhancing user experience.
34 lines
1.3 KiB
PHP
34 lines
1.3 KiB
PHP
<?php
|
|
|
|
if($_SERVER["REQUEST_URI"] == '/metrics') {
|
|
header('Content-Type: text/plain; version=0.0.4');
|
|
$config = getenv('CONFIG_FILE');
|
|
$phpbin = getenv('PHP_BINARY');
|
|
$output = shell_exec('CONFIG_FILE="' . $config . '" ' . $phpbin . ' ' . $_SERVER['DOCUMENT_ROOT'] . '/script.php');
|
|
echo $output;
|
|
} elseif ($_SERVER["REQUEST_URI"] == '/config') {
|
|
header('Content-Type: application/json');
|
|
require_once getenv('CONFIG_FILE');
|
|
echo json_encode($config);
|
|
} elseif ($_SERVER["REQUEST_URI"] == '/version' && is_dir($_SERVER['DOCUMENT_ROOT'] . '/.git')) {
|
|
header('Content-Type: application/json');
|
|
$git = [
|
|
'lastCommit' => trim(shell_exec('git rev-parse HEAD')),
|
|
'lastCommitTimestamp' => trim(shell_exec('git log -1 --format=%cd')),
|
|
'branch' => trim(shell_exec('git rev-parse --abbrev-ref HEAD')),
|
|
];
|
|
echo json_encode($git);
|
|
} else {
|
|
require_once('vendor/autoload.php');
|
|
$knownpaths = [
|
|
'/metrics',
|
|
'/config'
|
|
];
|
|
if (is_dir($_SERVER['DOCUMENT_ROOT'] . '/.git')) $knownpaths[] = '/version';
|
|
http_response_code(404);
|
|
$loader = new \Twig\Loader\FilesystemLoader('templates');
|
|
$twig = new \Twig\Environment($loader, [
|
|
'cache' => 'twig_cache',
|
|
]);
|
|
echo $twig->render('404.twig', ['path' => $_SERVER["REQUEST_URI"], 'knownpaths' => $knownpaths]);
|
|
} |