Prechádzať zdrojové kódy

feat: make redis cache optional

httpjamesm 2 rokov pred
rodič
commit
7a717aa212
1 zmenil súbory, kde vykonal 13 pridanie a 8 odobranie
  1. 13 8
      src/pages/api/media_proxy.ts

+ 13 - 8
src/pages/api/media_proxy.ts

@@ -18,12 +18,14 @@ export default async function handler(
       message: 'Invalid query',
     })
 
-  const cachedMedia = await redis.getBuffer(mediaUrl)
-
-  if (cachedMedia) {
-    res.setHeader('x-cached', 'true')
-    res.status(302).send(cachedMedia)
-    return
+  if (process.env.USE_REDIS === 'true') {
+    const cachedMedia = await redis.getBuffer(mediaUrl)
+
+    if (cachedMedia) {
+      res.setHeader('x-cached', 'true')
+      res.status(302).send(cachedMedia)
+      return
+    }
   }
 
   let mediaRes: AxiosResponse
@@ -39,9 +41,12 @@ export default async function handler(
   }
 
   const data = mediaRes.data
-  // save in redis for 30 minutes
-  await redis.setex(mediaUrl, 30 * 60, Buffer.from(data))
 
+  if (process.env.USE_REDIS === 'true') {
+    // save in redis for 30 minutes
+    await redis.setex(mediaUrl, 30 * 60, Buffer.from(data))
+  }
+  
   // send media
   res.setHeader('x-cached', 'false')
   res.send(data)