@fly/edge
Version:
Fly's TypeScript Edge
27 lines • 3.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.applyReplacements = void 0;
/**
* @module HTTP
* @ignore
*/
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;
}
exports.applyReplacements = applyReplacements;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1yZXBsYWNlbWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGV4dC1yZXBsYWNlbWVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLGlCQUFpQixDQUFDLElBQWMsRUFBRSxZQUFpQztJQUN2RixJQUFJLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUFFLE9BQU8sSUFBSSxDQUFBO0lBQzNELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMxRCxJQUNFLFdBQVcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQzdCLFdBQVcsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUM7UUFDOUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQztRQUN4QyxXQUFXLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUM3QjtRQUNBLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUN4QixJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUM1QixLQUFLLE1BQU0sQ0FBQyxJQUFJLFlBQVksRUFBRTtZQUM1QixJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDaEM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO1FBQ3JDLElBQUksR0FBRyxJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7S0FDaEM7SUFDRCxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUM7QUFsQkQsOENBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIEhUVFBcbiAqIEBpZ25vcmVcbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFwcGx5UmVwbGFjZW1lbnRzKHJlc3A6IFJlc3BvbnNlLCByZXBsYWNlbWVudHM/OiBbc3RyaW5nLCBzdHJpbmddW10pIHtcbiAgaWYgKCFyZXBsYWNlbWVudHMgfHwgcmVwbGFjZW1lbnRzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHJlc3BcbiAgY29uc3QgY29udGVudFR5cGUgPSByZXNwLmhlYWRlcnMuZ2V0KFwiY29udGVudC10eXBlXCIpIHx8IFwiXCJcbiAgaWYgKFxuICAgIGNvbnRlbnRUeXBlLmluY2x1ZGVzKFwiL2h0bWxcIikgfHxcbiAgICBjb250ZW50VHlwZS5pbmNsdWRlcyhcImFwcGxpY2F0aW9uL2phdmFzY3JpcHRcIikgfHxcbiAgICBjb250ZW50VHlwZS5pbmNsdWRlcyhcImFwcGxpY2F0aW9uL2pzb25cIikgfHxcbiAgICBjb250ZW50VHlwZS5pbmNsdWRlcyhcInRleHQvXCIpXG4gICkge1xuICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgIGxldCBib2R5ID0gYXdhaXQgcmVzcC50ZXh0KClcbiAgICBmb3IgKGNvbnN0IHIgb2YgcmVwbGFjZW1lbnRzKSB7XG4gICAgICBib2R5ID0gYm9keS5yZXBsYWNlKHJbMF0sIHJbMV0pXG4gICAgfVxuICAgIHJlc3AuaGVhZGVycy5kZWxldGUoXCJjb250ZW50LWxlbmd0aFwiKVxuICAgIHJlc3AgPSBuZXcgUmVzcG9uc2UoYm9keSwgcmVzcClcbiAgfVxuICByZXR1cm4gcmVzcFxufSJdfQ==