Starting a fill no longer POSTs the cache id to /_fill. Instead: - the created page links the cache's webkey, /cache/#<cache id>: a skeleton page, the same for every key, that reads the key from the fragment (never sent to the server or in a Referer) - its script trades the key in-band for a capability over Cap'n Web at /api: CacheApi.cache(key) returns a CacheCap facet (fill, status, fingerprint, the public companion's fill) and never the DO's wiring methods; malformed and unknown keys get one refusal that never echoes the key, and each refusal is logged without it - then calls startFill(): trade and call pipeline into one round trip - the worker serves capnweb's browser build itself at /_capnweb.js (a wrangler Text rule), so no third-party script sits beside the key The /_fill route and its forms are gone. Tests run the real capnweb client against the worker (fetch routed to worker.fetch). Generated-by: Claude Opus 5.5
11 lines
448 B
TypeScript
11 lines
448 B
TypeScript
/**
|
|
* @file capnweb's browser build (a self-contained ES module), as text, for
|
|
* the worker to serve at /_capnweb.js; wrangler's Text rule for this path
|
|
* makes the import a string. Self-hosted: no third-party script on a page
|
|
* that holds a bearer key.
|
|
*/
|
|
// @ts-expect-error: a Text-rule import (wrangler.jsonc "rules"), not code
|
|
import source from "../node_modules/capnweb/dist/index.js";
|
|
|
|
export const CAPNWEB_BROWSER_JS: string = source;
|