shouldShowInTray($isAdmin)) { respond([ 'error' => 'forbidden', 'message' => 'Kein Zugriff auf den Gitea-Deploy-Status.', ], 403); } $status = $service->status(); $diagnostics = is_array($status['diagnostics'] ?? null) ? $status['diagnostics'] : []; $diagnostics['environment'] = $currentEnvironment; $diagnostics['host'] = (string) ($_SERVER['HTTP_HOST'] ?? $_SERVER['SERVER_NAME'] ?? ''); $status['diagnostics'] = $diagnostics; respond([ 'data' => $status, ]); /** * @param array $payload */ function respond(array $payload, int $statusCode = 200): never { http_response_code($statusCode); header('Content-Type: application/json; charset=utf-8'); echo json_encode($payload, JSON_THROW_ON_ERROR | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); exit; }