cloudflare pages advanced mode architecture
HTMLRewriter available via fetched env.ASSETS./_workers.js(data uri)
code
export default{
fetch(req,env){
return(c=>c(env.CONTENT))(async v=>(res=>v&&200===res.status?new HTMLRewriter().on(`head`,{
element(e){
e.append(v,{html:true})
}
}).transform(res):res)(await env.ASSETS.fetch(req)))
}
}
if ads available.
const{pathname}=new URL(req.url)
if(env.ADS_TXT&&`/ads.txt`===pathname)return new Response(env.ADS_TXT.replace(/(?<!^|\n)$/,`\n`),{headers:{[`content-type`]:`text/plain;charset=utf-8`}})
/_headers(data uri)
code
/*
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' blob:
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
/*.js
Content-Type: application/javascript; charset=utf-8