Accessing the Cloudflare Object
Last reviewed: almost 4 years ago
Access custom Cloudflare properties and control how Cloudflare features are applied to every request.
If you want to get started quickly, click on the button below.
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 jsonfrom workers import Response, WorkerEntrypointfrom 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)Was this helpful?
- Resources
- API
- New to Cloudflare?
- Directory
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- © 2026 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark
-