summaryrefslogtreecommitdiff
path: root/src/pages/api/counter.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/api/counter.ts')
-rw-r--r--src/pages/api/counter.ts52
1 files changed, 7 insertions, 45 deletions
diff --git a/src/pages/api/counter.ts b/src/pages/api/counter.ts
index 1d3d0b7..4f42236 100644
--- a/src/pages/api/counter.ts
+++ b/src/pages/api/counter.ts
@@ -6,54 +6,16 @@ interface Env {
export const GET: APIRoute = async ({ locals }) => {
const env = locals.runtime.env as Env;
- if (!env?.COUNTER_DO) {
- return new Response(JSON.stringify({ error: 'Durable Object not available' }), {
- status: 500,
- headers: { 'Content-Type': 'application/json' }
- });
- }
-
- const id = env.COUNTER_DO.idFromName('global-counter');
+ const id = env.COUNTER_DO.idFromName('counter');
const stub = env.COUNTER_DO.get(id);
-
- const response = await stub.fetch(new Request('https://counter.do/get'));
- const data = await response.json();
-
- return new Response(JSON.stringify(data), {
- headers: { 'Content-Type': 'application/json' }
- });
+ const response = await stub.fetch('https://counter.do/get');
+ return response;
};
-export const POST: APIRoute = async ({ request, locals }) => {
+export const POST: APIRoute = async ({ locals }) => {
const env = locals.runtime.env as Env;
- if (!env?.COUNTER_DO) {
- return new Response(JSON.stringify({ error: 'Durable Object not available' }), {
- status: 500,
- headers: { 'Content-Type': 'application/json' }
- });
- }
-
- const url = new URL(request.url);
- const action = url.searchParams.get('action') || 'increment';
-
- const id = env.COUNTER_DO.idFromName('global-counter');
+ const id = env.COUNTER_DO.idFromName('counter');
const stub = env.COUNTER_DO.get(id);
-
- let doRequest: Request;
- switch (action) {
- case 'reset':
- doRequest = new Request('https://counter.do/reset');
- break;
- case 'increment':
- default:
- doRequest = new Request('https://counter.do/increment');
- break;
- }
-
- const response = await stub.fetch(doRequest);
- const data = await response.json();
-
- return new Response(JSON.stringify(data), {
- headers: { 'Content-Type': 'application/json' }
- });
+ const response = await stub.fetch('https://counter.do/increment');
+ return response;
}; \ No newline at end of file