RustCFML on Cloudflare Workersv0.656.1

Live demo dashboard
Welcome

This worker runs a CFML interpreter (RustCFML, compiled to WebAssembly) on Cloudflare's edge. The pages linked below each exercise a different slice of the integration: lazy session storage in Workers KV, Durable-Object-backed application scope, and synchronous-from-CFML SQL queries against Postgres or MySQL via Cloudflare Hyperdrive, bridged through JSPI.

Edge: · rendered at 2026-09-22 05:11:02

/static.cfm no cookie

Lazy session — no write

A page that never touches the session scope. With this.lazySessionCreation = true the engine skips KV inserts, skips onSessionStart, and skips Set-Cookie entirely.

Open /static.cfm →

/session.cfm greeter

Remember-me flow

Asks for your name on first visit and greets you back on subsequent ones. The form submission writes session.greetName, which triggers lazy-init: KV record created, onSessionStart fires, cookie issued. Anonymous visits stay zero-cost.

Open /session.cfm →

/cfml.cfm language

Engine sampler

Quick rendering of the same examples shown in the wasm playground: variables, arrays with higher-order functions, structs, closures, fibonacci, fizzbuzz. All running server-side.

Open /cfml.cfm →

/echo/ test server

HTTP echo for cfhttp tests

An always-on HTTP echo service the RustCFML engine test-suite hits in place of the flaky httpbin.org. Mirrors the request as JSON, reflects headers, and returns arbitrary status codes — all from the edge.

Open /echo/ →

/db.cfm hyperdrive

SQL via Hyperdrive

Runs a tiny SELECT through Hyperdrive (Postgres or MySQL) using the synchronous <cfquery> tag. The async driver is bridged via JSPI, so CFML code stays sequential.

Open /db.cfm →
Live application scope (DO-backed)

Application scope is stored in a single Durable Object instance per application name. All isolates and regions see the same value, so the counter below increments monotonically regardless of which edge node serves you.

application.startedAt
2026-05-25 17:59:51
application.requestCount
96993