Add SKIP_REDIS check in getTilesClient and handle KeyDB client initialization
This commit is contained in:
parent
ef58dc618c
commit
fb3f43f736
1 changed files with 9 additions and 3 deletions
|
|
@ -2,12 +2,14 @@ import type { NextApiRequest, NextApiResponse } from "next";
|
||||||
import Redis from "ioredis";
|
import Redis from "ioredis";
|
||||||
import { env } from "~/env.mjs";
|
import { env } from "~/env.mjs";
|
||||||
|
|
||||||
|
|
||||||
let tiles: Redis | null = null;
|
let tiles: Redis | null = null;
|
||||||
|
|
||||||
export function getTilesClient() {
|
export function getTilesClient() {
|
||||||
|
if (env.SKIP_REDIS) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
if (!tiles) {
|
if (!tiles) {
|
||||||
tiles = new Redis(`keydb://${env.TILES_URL}` );
|
tiles = new Redis(`keydb://${env.TILES_URL}`);
|
||||||
}
|
}
|
||||||
return tiles;
|
return tiles;
|
||||||
}
|
}
|
||||||
|
|
@ -24,7 +26,6 @@ export default async function handler(
|
||||||
) {
|
) {
|
||||||
const { slug } = req.query;
|
const { slug } = req.query;
|
||||||
|
|
||||||
|
|
||||||
if (!slug) {
|
if (!slug) {
|
||||||
return res.status(400).json({
|
return res.status(400).json({
|
||||||
error: "Slug is required",
|
error: "Slug is required",
|
||||||
|
|
@ -48,6 +49,11 @@ export default async function handler(
|
||||||
const cacheKey = `tile:${z}:${x}:${y}`;
|
const cacheKey = `tile:${z}:${x}:${y}`;
|
||||||
|
|
||||||
const tiles = getTilesClient();
|
const tiles = getTilesClient();
|
||||||
|
if (!tiles) {
|
||||||
|
return res.status(500).json({
|
||||||
|
error: "KeyDB client is not initialized",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
const cachedTile = await tiles.getBuffer(cacheKey);
|
const cachedTile = await tiles.getBuffer(cacheKey);
|
||||||
if (cachedTile) {
|
if (cachedTile) {
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue