Urara-Blog/node_modules/.pnpm-store/v3/files/07/55328ca78bdc827a08cfa0182529fc547c264a5d6eceda5b0382c0deb527b72d26a3b31432c8fbcfaed10c91ddf362c3d4ea1e50aa4c9b01da0bd8f3ddd190
2022-08-14 01:14:53 +08:00

1 line
No EOL
865 B
Text

import{lookup as e,mimes as t}from"mrmime";async function n(t,n){let s="string"==typeof n,r=!s&&"HEAD"===n.method;if(!s&&!r&&"GET"!==n.method)return;let a=s?n:new URL(n.url).pathname;!s&&a.endsWith("/")&&(a+="index.html");let l=await t.get(a,"arrayBuffer");if(null==l)return new Response(null,{status:404});let i=a.lastIndexOf("."),o=~i?a.substring(++i):a,u=!s&&n.headers.get("range"),p=u?206:200,g=l.byteLength,m={"content-length":String(g)};if(o=o&&e(o),o&&(m["content-type"]=o),u){let[e,t]=u.replace("bytes=","").split("-"),n=parseInt(t,10)||g-1,s=parseInt(e,10)||0;if(s>=g||n>=g)return m["content-range"]=`bytes */${g}`,new Response(null,{status:416,headers:m});m["content-range"]=`bytes ${s}-${n}/${g}`,m["content-length"]=String(n-s+1),m["accept-ranges"]="bytes",l=l.slice(s,n)}return new Response(r?null:l,{status:p,headers:m})}export{t as mimes,n as serve};