so now I know why my API is extremely slow to use KV as JWT's JTI storage. It would be nice to have
so now I know why my API is extremely slow to use KV as JWT's JTI storage. It would be nice to have KV to store their data at APAC - Oceania
npx wrangler kv:namespace list and share the output please.
npx wrangler kv:namespace listaddEventListener('fetch', event => {
event.respondWith(handleRequest(event.request))
})
// Initialize Cloudflare KV Namespace
const kvNamespaceId = '97';
const kvNamespace = KVNamespace(kvNamespaceId);
async function handleRequest(request) {
// Handle POST request to store data
if (request.method === 'POST') {
const requestBody = await request.text();
// Store data in KV
await storeData('example_key', requestBody);
return new Response('Data stored successfully!', { status: 200 });
}
// Handle GET request to retrieve data
if (request.method === 'GET') {
// Retrieve data from KV
const data = await retrieveData('example_key');
if (data) {
return new Response(data, { status: 200 });
} else {
return new Response('No data found for the given key', { status: 404 });
}
}
return new Response('Invalid request method', { status: 405 });
}
async function storeData(key, value) {
try {
// Store data in Cloudflare KV
await kvNamespace.put(key, value);
} catch (error) {
console.error('Error storing data:', error);
throw new Error('Failed to store data');
}
}
async function retrieveData(key) {
try {
// Retrieve data from Cloudflare KV
const data = await kvNamespace.get(key);
if (data === null) {
return null;
}
return data;
} catch (error) {
console.error('Error retrieving data:', error);
throw new Error('Failed to retrieve data');
}
}const kvNamespaceId = '97';
const kvNamespace = KVNamespace(kvNamespaceId);<!DOCTYPE html>
<html>
<head>
<title>Quick Quotes</title>
<link rel="stylesheet" type="text/css" href="/css/styles.css">
</head>
<body>
<div class="container">
<h2>Quick Quotes</h2>
<form id="quoteForm">
<label for="User">Name:</label>
<input type="text" id="name" name="User" placeholder="Enter your name">
<label for="Quote">Quote:</label>
<textarea id="quote" name="Quote" placeholder="Enter your quote"></textarea>
<button type="button" onclick="submitForm()">Submit</button>
</form>
<div id="quotesContainer">
</div>
</div>
</body>
</html>