UNPKG

@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
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=