Add SKIP_REDIS check in getTilesClient and handle KeyDB client initialization

This commit is contained in:
Marco Pedone 2025-08-04 19:00:53 +02:00
parent ef58dc618c
commit fb3f43f736

View file

@ -2,10 +2,12 @@ import type { NextApiRequest, NextApiResponse } from "next";
import Redis from "ioredis";
import { env } from "~/env.mjs";
let tiles: Redis | null = null;
export function getTilesClient() {
if (env.SKIP_REDIS) {
return null;
}
if (!tiles) {
tiles = new Redis(`keydb://${env.TILES_URL}`);
}
@ -24,7 +26,6 @@ export default async function handler(
) {
const { slug } = req.query;
if (!slug) {
return res.status(400).json({
error: "Slug is required",
@ -48,6 +49,11 @@ export default async function handler(
const cacheKey = `tile:${z}:${x}:${y}`;
const tiles = getTilesClient();
if (!tiles) {
return res.status(500).json({
error: "KeyDB client is not initialized",
});
}
const cachedTile = await tiles.getBuffer(cacheKey);
if (cachedTile) {