@fly/cdn
Version:
Fly's TypeScript CDN
23 lines • 2.9 kB
JavaScript
/**
* @module HTTP
* @ignore
*/
export async function applyReplacements(resp, replacements) {
if (!replacements || replacements.length === 0)
return resp;
const contentType = resp.headers.get("content-type") || "";
if (contentType.includes("/html") ||
contentType.includes("application/javascript") ||
contentType.includes("application/json") ||
contentType.includes("text/")) {
const start = Date.now();
let body = await resp.text();
for (const r of replacements) {
body = body.replace(r[0], r[1]);
}
resp.headers.delete("content-length");
resp = new Response(body, resp);
}
return resp;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1yZXBsYWNlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGV4dC1yZXBsYWNlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxpQkFBaUIsQ0FBQyxJQUFjLEVBQUUsWUFBaUM7SUFDdkYsSUFBSSxDQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUM7UUFBRSxPQUFPLElBQUksQ0FBQTtJQUMzRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDMUQsSUFDRSxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUM3QixXQUFXLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDO1FBQzlDLFdBQVcsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUM7UUFDeEMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFDN0I7UUFDQSxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDeEIsSUFBSSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDNUIsS0FBSyxNQUFNLENBQUMsSUFBSSxZQUFZLEVBQUU7WUFDNUIsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1NBQ2hDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtRQUNyQyxJQUFJLEdBQUcsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO0tBQ2hDO0lBQ0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIEhUVFBcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFwcGx5UmVwbGFjZW1lbnRzKHJlc3A6IFJlc3BvbnNlLCByZXBsYWNlbWVudHM/OiBbc3RyaW5nLCBzdHJpbmddW10pIHtcbiAgaWYgKCFyZXBsYWNlbWVudHMgfHwgcmVwbGFjZW1lbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHJlc3BcbiAgY29uc3QgY29udGVudFR5cGUgPSByZXNwLmhlYWRlcnMuZ2V0KFwiY29udGVudC10eXBlXCIpIHx8IFwiXCJcbiAgaWYgKFxuICAgIGNvbnRlbnRUeXBlLmluY2x1ZGVzKFwiL2h0bWxcIikgfHxcbiAgICBjb250ZW50VHlwZS5pbmNsdWRlcyhcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIikgfHxcbiAgICBjb250ZW50VHlwZS5pbmNsdWRlcyhcImFwcGxpY2F0aW9uL2pzb25cIikgfHxcbiAgICBjb250ZW50VHlwZS5pbmNsdWRlcyhcInRleHQvXCIpXG4gICkge1xuICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgIGxldCBib2R5ID0gYXdhaXQgcmVzcC50ZXh0KClcbiAgICBmb3IgKGNvbnN0IHIgb2YgcmVwbGFjZW1lbnRzKSB7XG4gICAgICBib2R5ID0gYm9keS5yZXBsYWNlKHJbMF0sIHJbMV0pXG4gICAgfVxuICAgIHJlc3AuaGVhZGVycy5kZWxldGUoXCJjb250ZW50LWxlbmd0aFwiKVxuICAgIHJlc3AgPSBuZXcgUmVzcG9uc2UoYm9keSwgcmVzcClcbiAgfVxuICByZXR1cm4gcmVzcFxufSJdfQ==