Merged in fix/dont-remove-items-when-unable-to-parse (pull request #3217)

fix: dont remove cache entries when unable to parse api response

* fix: dont remove cache entries when unable to parse api response


Approved-by: Linus Flood
This commit is contained in:
Joakim Jäderberg
2025-11-25 10:24:33 +00:00
committed by Linus Flood
parent c3381e8100
commit 5477343373

View File

@@ -3,7 +3,6 @@ import * as Sentry from "@sentry/nextjs"
import { env } from "../../env/server"
import { safeTry } from "../../utils/safeTry"
import { cacheLogger } from "../logger"
import { deleteKey } from "./deleteKey"
import { getCacheEndpoint } from "./endpoints"
const API_KEY = env.REDIS_API_KEY ?? ""
@@ -32,7 +31,7 @@ export async function get<T>(key: string) {
return undefined
}
cacheLogger.error(`Failed to get cache for key ${key}`, {
cacheLogger.error(`Failed to get cache for key '${key}'`, {
cacheKey: key,
statusCode: response?.status,
statusText: response?.statusText,
@@ -55,12 +54,22 @@ export async function get<T>(key: string) {
)
if (jsonError) {
cacheLogger.error("Failed to parse cache response", {
cacheLogger.error(`Failed to parse cache response for key '${key}'`, {
cacheKey: key,
error: serializeError(jsonError),
})
Sentry.captureException(
jsonError ?? new Error("Unable to parse cache response"),
{
extra: {
cacheKey: key,
statusCode: response?.status,
statusText: response?.statusText,
contentType: response?.headers.get("content-type"),
},
}
)
await deleteKey(key)
return undefined
}