Socket
Socket
Sign inDemoInstall

@vercel/edge-config

Package Overview
Dependencies
Maintainers
0
Versions
94
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vercel/edge-config - npm Package Compare versions

Comparing version 1.2.0 to 1.2.1-c7712904-20240625135709

118

dist/index.js

@@ -6,3 +6,3 @@ // src/index.ts

var name = "@vercel/edge-config";
var version = "1.2.0";
var version = "1.2.1-c7712904-20240625135709";

@@ -183,102 +183,4 @@ // src/utils/tracing.ts

// src/utils/fetch-with-cached-response.ts
function createResponse(cachedResponseEntry) {
return new Response(cachedResponseEntry.response, {
headers: {
...cachedResponseEntry.headers,
Age: String(
// age header may not be 0 when serving stale content, must be >= 1
Math.max(1, Math.floor((Date.now() - cachedResponseEntry.time) / 1e3))
)
},
status: cachedResponseEntry.status
});
}
function createHandleStaleIfError(cachedResponseEntry, staleIfError) {
return function handleStaleIfError(response) {
switch (response.status) {
case 500:
case 502:
case 503:
case 504:
return typeof staleIfError === "number" && cachedResponseEntry.time < Date.now() + staleIfError * 1e3 ? createResponse(cachedResponseEntry) : response;
default:
return response;
}
};
}
function createHandleStaleIfErrorException(cachedResponseEntry, staleIfError) {
return function handleStaleIfError(reason) {
if (typeof staleIfError === "number" && cachedResponseEntry.time < Date.now() + staleIfError * 1e3) {
return createResponse(cachedResponseEntry);
}
throw reason;
};
}
var cache = /* @__PURE__ */ new Map();
function extractStaleIfError(cacheControlHeader) {
if (!cacheControlHeader)
return null;
const matched = /stale-if-error=(?<staleIfError>\d+)/i.exec(
cacheControlHeader
);
return (matched == null ? void 0 : matched.groups) ? Number(matched.groups.staleIfError) : null;
}
var fetchWithCachedResponse = trace(
async function fetchWithCachedResponse2(url, options = {}) {
const { headers: customHeaders = new Headers(), ...customOptions } = options;
const authHeader = customHeaders.get("Authorization");
const cacheKey = `${url},${authHeader || ""}`;
const cachedResponseEntry = cache.get(cacheKey);
if (cachedResponseEntry) {
const { etag: etag2, response: cachedResponse } = cachedResponseEntry;
const headers = new Headers(customHeaders);
headers.set("If-None-Match", etag2);
const staleIfError = extractStaleIfError(headers.get("Cache-Control"));
const res2 = await fetch(url, {
...customOptions,
headers
}).then(
createHandleStaleIfError(cachedResponseEntry, staleIfError),
createHandleStaleIfErrorException(cachedResponseEntry, staleIfError)
);
if (res2.status === 304) {
res2.cachedResponseBody = JSON.parse(cachedResponse);
return res2;
}
const newETag = res2.headers.get("ETag");
if (res2.ok && newETag)
cache.set(cacheKey, {
etag: newETag,
response: await res2.clone().text(),
headers: Object.fromEntries(res2.headers.entries()),
status: res2.status,
time: Date.now()
});
return res2;
}
const res = await fetch(url, options);
const etag = res.headers.get("ETag");
if (res.ok && etag) {
cache.set(cacheKey, {
etag,
response: await res.clone().text(),
headers: Object.fromEntries(res.headers.entries()),
status: res.status,
time: Date.now()
});
}
return res;
},
{
name: "fetchWithCachedResponse",
attributesSuccess(result) {
return {
status: result.status
};
}
}
);
// src/index.ts
var fetchWithCachedResponse = fetch;
var jsonParseCache = /* @__PURE__ */ new Map();

@@ -353,11 +255,3 @@ var readFileTraced = trace(readFile, { name: "readFile" });

const digest2 = res.headers.get("x-edge-config-digest");
let body;
if (!res.ok) {
await consumeResponseBody(res);
body = res.cachedResponseBody;
if (!body)
return null;
} else {
body = await res.json();
}
const body = await res.json();
return { digest: digest2, items: body };

@@ -454,4 +348,2 @@ });

}
if (res.cachedResponseBody !== void 0)
return res.cachedResponseBody;
throw new UnexpectedNetworkError(res);

@@ -520,4 +412,2 @@ });

throw new Error(ERRORS.EDGE_CONFIG_NOT_FOUND);
if (res.cachedResponseBody !== void 0)
return res.cachedResponseBody;
throw new UnexpectedNetworkError(res);

@@ -544,4 +434,2 @@ });

await consumeResponseBody(res);
if (res.cachedResponseBody !== void 0)
return res.cachedResponseBody;
throw new UnexpectedNetworkError(res);

@@ -548,0 +436,0 @@ });

2

package.json
{
"name": "@vercel/edge-config",
"version": "1.2.0",
"version": "1.2.1-c7712904-20240625135709",
"description": "Ultra-low latency data at the edge",

@@ -5,0 +5,0 @@ "homepage": "https://vercel.com",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc