@api.global/typedserver
Version:
A TypeScript-based project for easy serving of static files with support for live reloading, compression, and typed requests.
39 lines • 3.19 kB
JavaScript
import * as plugins from './plugins.js';
import { kvHandlerInstance } from './classes.kvhandler.js';
export class ResponseKv {
async storeResponse(urlIdentifier, responseArg) {
const headers = {};
for (const kv of responseArg.headers.entries()) {
headers[kv[0]] = kv[1];
}
const kvResponseForStorage = {
headers,
version: '1.0.0',
body: await responseArg.text()
};
await kvHandlerInstance.putInKv(urlIdentifier, JSON.stringify(kvResponseForStorage));
}
async getResponse(urlIdentifier) {
const kvValue = await kvHandlerInstance.getFromKv(urlIdentifier);
if (kvValue) {
let kvResponse;
try {
kvResponse = JSON.parse(kvValue);
}
catch (e) {
console.log(e);
return null;
}
const headers = new Headers();
for (const key of Object.keys(kvResponse.headers)) {
headers.append(key, kvResponse.headers[key]);
}
headers.append('SERVEZONE_ROUTE', 'CLOUDFLARE_EDGE_LOKV');
return new Response(kvResponse.body, { headers: headers });
}
else {
return null;
}
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy5yZXNwb25zZWt2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfZWRnZXdvcmtlci9jbGFzc2VzLnJlc3BvbnNla3YudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFVM0QsTUFBTSxPQUFPLFVBQVU7SUFDZCxLQUFLLENBQUMsYUFBYSxDQUFDLGFBQXFCLEVBQUUsV0FBZ0I7UUFDaEUsTUFBTSxPQUFPLEdBQThCLEVBQUUsQ0FBQztRQUM5QyxLQUFLLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUMvQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFDRCxNQUFNLG9CQUFvQixHQUFzQjtZQUM5QyxPQUFPO1lBQ1AsT0FBTyxFQUFFLE9BQU87WUFDaEIsSUFBSSxFQUFFLE1BQU0sV0FBVyxDQUFDLElBQUksRUFBRTtTQUMvQixDQUFDO1FBQ0YsTUFBTSxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO0lBQ3ZGLENBQUM7SUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLGFBQXFCO1FBQzVDLE1BQU0sT0FBTyxHQUFHLE1BQU0saUJBQWlCLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDWixJQUFJLFVBQTZCLENBQUM7WUFDbEMsSUFBSSxDQUFDO2dCQUNILFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM5QixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7Z0JBQ2xELE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBQ0QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1lBQzFELE9BQU8sSUFBSSxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztDQUNGIn0=