Browser
CFF as CloudflareFunctions
LS as LaraSite
Browser->CFF: request
// requested domain: `zenuml.com`
// serving domain: `sequence-diagram.zenuml.com`.
// See `static/_routes.json` for which paths are handled by the functions.
// requested url | serving url | Note
// --------------|-------------|-----
// /seq-dia | / | request without `/`
// /seq-dia/share/xxx | /share/xxx
// /diagrams/xxx | /diagrams/xxx
// /fonts/xxx | /fonts/xxx
// /vendor/xxx | /vendor/xxx
// /image/xxx | /image/xxx
// /login | /login
// /auth/xxx | /auth/xxx
// /public-diagrams | public-diagrams
CFF->CFF: map url
CFF->LS: forward request
LS->CFF: response
CFF->CFF: replace headers and urls on the page
CFF->Browser: response with updated headers and page content