connect('127.0.0.1', 6379); $useRedis = true; } } catch (Exception $e) { error_log("Redis not available: " . $e->getMessage()); } if ($useRedis && $redis->exists($cacheKey)) { $movie = json_decode($redis->get($cacheKey), true); } else { $apiUrl = "$postgrestUrl/optimized_movies?url=eq./" . $url; $client = new Client(); try { $response = $client->request("GET", $apiUrl, [ "headers" => [ "Accept" => "application/json", "Authorization" => "Bearer {$postgrestApiKey}", ], ]); $movieData = json_decode($response->getBody(), true); if (!$movieData) { echo file_get_contents(__DIR__ . "/../../404/index.html"); exit(); } $movie = $movieData[0]; if ($useRedis) { $redis->setex($cacheKey, 3600, json_encode($movie)); } } catch (Exception $e) { error_log($e->getMessage()); echo file_get_contents(__DIR__ . "/../../404/index.html"); exit(); } } $movie["description"] = parseMarkdown($movie["description"]); $pageTitle = htmlspecialchars( "Movies • " . $movie["title"], ENT_QUOTES, "UTF-8" ); $pageDescription = truncateText(htmlspecialchars( strip_tags($movie["description"]), ENT_QUOTES, "UTF-8" ), 250); $ogImage = htmlspecialchars($movie["backdrop"], ENT_QUOTES, "UTF-8"); $fullUrl = "https://www.coryd.dev" . $requestUri; $oembedUrl = "https://www.coryd.dev/oembed" . $requestUri; ob_start(); header("Cache-Control: public, max-age=3600"); header("Expires: " . gmdate("D, d M Y H:i:s", time() + 3600) . " GMT"); ?>