Pular para o conteúdo

Accessing the Cloudflare Object

Access custom Cloudflare properties and control how Cloudflare features are applied to every request.

Atualizado em Ver como Markdown

If you want to get started quickly, click on the button below.

Deploy to Cloudflare

This creates a repository in your GitHub account and deploys the application to Cloudflare Workers.

export default {
	async fetch(req) {
		const data =
			req.cf !== undefined
				? req.cf
				: { error: "The `cf` object is not available inside the preview." };

		return new Response(JSON.stringify(data, null, 2), {
			headers: {
				"content-type": "application/json;charset=UTF-8",
			},
		});
	},
};
export default {
	async fetch(req): Promise<Response> {
		const data =
			req.cf !== undefined
				? req.cf
				: { error: "The `cf` object is not available inside the preview." };

		return new Response(JSON.stringify(data, null, 2), {
			headers: {
				"content-type": "application/json;charset=UTF-8",
			},
		});
	},
} satisfies ExportedHandler;
import { Hono } from "hono";

const app = new Hono();

app.get("*", async (c) => {
	// Access the raw request to get the cf object
	const req = c.req.raw;

	// Check if the cf object is available
	const data =
		req.cf !== undefined
			? req.cf
			: { error: "The `cf` object is not available inside the preview." };

	// Return the data formatted with 2-space indentation
	return c.json(data);
});

export default app;
import json
from workers import Response, WorkerEntrypoint
from js import JSON

class Default(WorkerEntrypoint):
	async def fetch(self, request):
		error = json.dumps({ "error": "The `cf` object is not available inside the preview." })
		data = request.cf if request.cf is not None else error
		headers = {"content-type":"application/json"}
		return Response(JSON.stringify(data, None, 2), headers=headers)