0, 'path' => '/', 'domain' => $config['session_domain'] ?? '', 'secure' => $isHttps, 'httponly' => true, 'samesite' => $sameSite, ]); session_start(); \App\Support\Database::configure($config); // Set up request like real environment $_SERVER['REQUEST_URI'] = '/api/v1/auth/login'; $_SERVER['REQUEST_METHOD'] = 'POST'; $_SERVER['HTTP_HOST'] = 'api.fahrschultermin.de'; $_SERVER['HTTPS'] = 'on'; $_SERVER['CONTENT_TYPE'] = 'application/json'; // Simulate the JSON body $request = new \App\Support\Request(); // Instantiate controllers $auth = new \App\Http\Controllers\AuthController(); // Register routes exactly like index.php $router = new \App\Support\Router($request); $router->post('/api/v1/auth/login', [$auth, 'login']); // Dispatch ob_start(); try { $router->dispatch(); } catch (Throwable $e) { echo "ERROR: " . $e->getMessage() . " in " . $e->getFile() . ":" . $e->getLine() . "\n"; } $out = ob_get_clean(); echo $out ?: "(empty output)\n";