[ PROMPT_NODE_24308 ]
Snippets API 参考
[ SKILL_DOCUMENTATION ]
# Snippets API 参考
## Request 对象
### HTTP 属性
javascript
request.method // GET, POST, PUT, DELETE 等
request.url // 完整 URL 字符串
request.headers // Headers 对象
request.body // ReadableStream (用于 POST/PUT)
request.cf // Cloudflare 属性 (见下文)
### URL 操作
javascript
const url = new URL(request.url);
url.hostname // "example.com"
url.pathname // "/path/to/page"
url.search // "?query=value"
url.searchParams.get("q") // "value"
url.searchParams.set("q", "new")
url.searchParams.delete("q")
### Header 操作
javascript
// 读取标头
request.headers.get("User-Agent")
request.headers.has("Authorization")
request.headers.getSetCookie() // 获取所有 Set-Cookie 标头
// 修改标头 (创建新请求)
const modifiedRequest = new Request(request);
modifiedRequest.headers.set("X-Custom", "value")
modifiedRequest.headers.delete("X-Remove")
### Cloudflare 属性 (`request.cf`)
访问有关请求的 Cloudflare 特定元数据:
javascript
// 地理位置
request.cf.city // "San Francisco"
request.cf.continent // "NA"
request.cf.country // "US"
request.cf.region // "California" 或 "CA"
request.cf.regionCode // "CA"
request.cf.postalCode // "94102"
request.cf.latitude // "37.7749"
request.cf.longitude // "-122.4194"
request.cf.timezone // "America/Los_Angeles"
request.cf.metroCode // "807" (DMA 代码)
// 网络
request.cf.colo // "SFO" (数据中心机场代码)
request.cf.asn // 13335 (ASN 编号)
request.cf.asOrganization // "Cloudflare, Inc."
// 机器人管理 (如果已启用)
request.cf.botManagement.score // 1-99 (1=机器人, 99=人类)
request.cf.botManagement.verified_bot // true/false
request.cf.botManagement.static_resource // true/false
// TLS/HTTP 版本
request.cf.tlsVersion // "TLSv1.3"
request.cf.tlsCipher // "AEAD-AES128-GCM-SHA256"
request.cf.httpProtocol // "HTTP/2"
// 请求元数据
request.cf.requestPriority // "weight=192;exclusive=0"
**用例**:地理路由、机器人检测、安全决策、分析。
## Response 对象
### Response 构造函数
javascript
// 纯文本
new Response("Hello", { status: 200 })
// JSON
Response.json({ key: "value" }, { status: 200 })
// HTML
new Response("
Hi
", {
status: 200,
headers: { "Content-Type": "text/html" }
})
// 重定向