70bf21e064
Deploy (to testing) and Test Playground Preview Worker / Deploy Playground Preview Worker (testing) (push) Has been skipped
Deploy Workers Shared Staging / Deploy Workers Shared Staging (push) Failing after 0s
Prerelease / build (push) Has been skipped
Handle Changesets / Handle Changesets (push) Has been cancelled
Semgrep OSS scan / semgrep-oss (push) Has been cancelled
33 lines
744 B
TypeScript
33 lines
744 B
TypeScript
import assetPath from "./asset.txt?no-inline";
|
|
|
|
interface Env {
|
|
ASSETS: Fetcher;
|
|
}
|
|
|
|
export default {
|
|
async fetch(request, env) {
|
|
const { pathname } = new URL(request.url);
|
|
|
|
if (pathname.startsWith("/api/")) {
|
|
if (pathname === "/api/asset") {
|
|
const response = await env.ASSETS.fetch(
|
|
new URL(assetPath, request.url)
|
|
);
|
|
const text = await response.text();
|
|
|
|
return new Response(`Modified: ${text}`);
|
|
}
|
|
|
|
return Response.json({
|
|
name: "Cloudflare",
|
|
});
|
|
}
|
|
|
|
const response = await env.ASSETS.fetch(request);
|
|
const modifiedResponse = new Response(response.body, response);
|
|
modifiedResponse.headers.append("is-worker-response", "true");
|
|
|
|
return modifiedResponse;
|
|
},
|
|
} satisfies ExportedHandler<Env>;
|