/** * Simple Cloudflare Worker for testing CloudflareCache functionality * WITHOUT any method overrides - tests the real implementation */ import { CloudflareCache } from './src/Cache/CloudflareCache'; export default { async fetch(request: Request, _env: any, _ctx: any): Promise { const url = new URL(request.url); // Create real cache instance - no overrides const cache = new CloudflareCache('http://localhost:8788'); // CORS headers const corsHeaders = new Headers(); corsHeaders.set('Access-Control-Allow-Origin', '*'); corsHeaders.set('Access-Control-Allow-Methods', 'GET, POST, DELETE, OPTIONS'); corsHeaders.set('Access-Control-Allow-Headers', 'Content-Type'); if (request.method === 'OPTIONS') { return new Response(null, { headers: corsHeaders }); } try { // Simple set endpoint if (url.pathname === '/cache/set' && request.method === 'POST') { const { key, value, ttl } = await request.json() as { key: any; value: any; ttl?: number }; const result = await cache.set(key, value, ttl); const responseHeaders = new Headers(corsHeaders); responseHeaders.set('Content-Type', 'application/json'); return new Response(JSON.stringify({ success: result }), { headers: responseHeaders }); } // Simple get endpoint if (url.pathname === '/cache/get' && request.method === 'POST') { const { key } = await request.json() as { key: any }; const result = await cache.get(key); const responseHeaders = new Headers(corsHeaders); responseHeaders.set('Content-Type', 'application/json'); return new Response(JSON.stringify({ value: result }), { headers: responseHeaders }); } // Simple delete endpoint if (url.pathname === '/cache/delete' && request.method === 'POST') { const { key } = await request.json() as { key: any }; const result = await cache.delete(key); const responseHeaders = new Headers(corsHeaders); responseHeaders.set('Content-Type', 'application/json'); return new Response(JSON.stringify({ success: result }), { headers: responseHeaders }); } // Simple has endpoint if (url.pathname === '/cache/has' && request.method === 'POST') { const { key } = await request.json() as { key: any }; const result = await cache.has(key); const responseHeaders = new Headers(corsHeaders); responseHeaders.set('Content-Type', 'application/json'); return new Response(JSON.stringify({ exists: result }), { headers: responseHeaders }); } // Health check if (url.pathname === '/health') { return new Response('OK', { headers: corsHeaders }); } return new Response('Simple Cache Test Server', { headers: corsHeaders }); } catch (error) { const errorHeaders = new Headers(corsHeaders); errorHeaders.set('Content-Type', 'application/json'); return new Response(JSON.stringify({ error: error instanceof Error ? error.message : 'Unknown error' }), { status: 500, headers: errorHeaders }); } } };