oh wait, just discounted?! I thought there was gonna be a free tier
oh wait, just discounted?! I thought there was gonna be a free tier
MailChannels plans to launch a more capable email delivery API in the future, complete with delivery tracking features, DKIM-key hosting, generative-AI delivery optimization, and more.
version_metadata for each of my envs, or is the key enough to have in the root just once?InstanceType. It automatically types your RPC classes so you could use your RPC methods in other workers with type-safety.
Service and DurableObjectNamespace generic types do, isn't it?logpush = true when you're a member of another account? https://github.com/cloudflare/workers-sdk/issues/2991

version_metadataInstanceTypeServiceDurableObjectNamespacelogpush = true{
"name": "Error",
"message": "Subrequest depth limit exceeded. This request recursed through Workers too many times. This can happen e.g. if you have a Worker or Durable Object that calls other Workers or objects recursively.",
"timestamp": 1719081484425
}import { RpcTarget, WorkerEntrypoint } from 'cloudflare:workers';
class Counter extends RpcTarget {
#value = 0;
increment(amount: number = 1) {
this.#value += amount;
return this.#value;
}
get value() {
return this.#value;
}
}
export class CounterService extends WorkerEntrypoint {
async newCounter() {
return new Counter();
}
}
export type CounterServiceStub = InstanceType<typeof CounterService>; const [body, body2] = request.body.tee()
const result = await Promise.allSettled([
fetch(url1, { method: request.method, headers: request.headers, body: body }),
fetch(url2, { method: request.method, headers: request.headers, body: body2 })
]) const [body, body2] = request.body.tee()
const result = await Promise.allSettled([
env.MY_SERVICE.fetch(new Request(request, { body })),
fetch(url2, { method: request.method, headers: request.headers, body: body2 })
])