Middleware: getEnv

Resolve an environment value the same way regardless of host, so middleware never branch on Deno vs process vs a Workers bindings object.

Resolution order:

  1. the platform object captured at the entry call (Workers bindings),
  2. process.env where a process global exists (Node, Bun, Deno 2, Workers with nodejs_compat), via std-env,
  3. Deno.env.get on Deno hosts without a populated process.env.

On Workers, bindings are per-request, so this returns undefined at module top level until the first request has been handled.

Parameters