Files
wehub-resource-sync 70bf21e064
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
Handle Changesets / Handle Changesets (push) Has been cancelled
Semgrep OSS scan / semgrep-oss (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:30:11 +08:00

36 lines
826 B
TypeScript

import type { Counter } from "../worker-b";
interface Env {
COUNTERS: DurableObjectNamespace<Counter>;
}
export default {
async fetch(request, env) {
const url = new URL(request.url);
const name = url.searchParams.get("name");
if (!name) {
throw new Error(
"Select a Durable Object to contact by using the `name` URL query string parameter, for example, ?name=A"
);
}
const id = env.COUNTERS.idFromName(name);
const stub = env.COUNTERS.get(id);
let count = null;
switch (url.pathname) {
case "/increment":
count = await stub.increment();
break;
case "/":
count = await stub.getCounterValue();
break;
default:
throw new Error("Unhandled route");
}
return new Response(`From worker-a: ${JSON.stringify({ name, count })}`);
},
} satisfies ExportedHandler<Env>;