azion
Version:
Azion Packages for Edge Computing.
2 lines (1 loc) • 1.77 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=n=>{const e=new URL(n).pathname,t=e.endsWith("/")?e.slice(0,-1):e,o=/\.[^.]+$/;let a;return t===""?a=new URL("index.html","file:///"):o.test(t)?a=new URL(t.slice(1),"file:///"):a=new URL(`${t.slice(1)}/index.html`,"file:///"),fetch(a)},s=n=>{const e=new URL(n).pathname;let t;return/\.[^.]+$/.test(e)?t=new URL(e.slice(1),"file:///"):t=new URL("index.html","file:///"),fetch(t)},i=async n=>{const e=new Headers(n.headers),t=new URL(n.url);let o=null;if(["POST","PUT","PATCH"].includes(n.method))try{o=await n.clone().text()}catch{o="Unable to read body"}const a=e.get("cookie")?Object.fromEntries(e.get("cookie").split(";").map(c=>c.trim().split("="))):{};return{timestamp:new Date().toISOString(),metadata:n.metadata,method:n.method,url:{full:n.url,protocol:t.protocol,hostname:t.hostname,path:t.pathname,query:Object.fromEntries(t.searchParams)},headers:Object.fromEntries(e.entries()),cookies:a,body:o,client:{ip:e.get("x-forwarded-for")||"Unknown",userAgent:e.get("user-agent")||"Unknown"},referer:e.get("referer")||"Unknown",origin:e.get("origin")||"Unknown",cacheControl:e.get("cache-control")||"Unknown",pragma:e.get("pragma")||"Unknown",contentType:e.get("content-type")||"Unknown",contentLength:e.get("content-length")||"Unknown",acceptLanguage:e.get("accept-language")||"Unknown",acceptEncoding:e.get("accept-encoding")||"Unknown",priority:e.get("priority")||"Unknown",host:e.get("host")||"Unknown",authorization:e.has("authorization")?"Present":"Not Present"}},l=Object.freeze(Object.defineProperty({__proto__:null,mountMPA:r,mountSPA:s,parseRequest:i},Symbol.toStringTag,{value:"Module"}));exports.edgeUtils=l;exports.mountMPA=r;exports.mountSPA=s;exports.parseRequest=i;