|
1 | 1 | --- |
2 | | -{} |
| 2 | +params: |
| 3 | + - location |
3 | 4 | --- |
4 | 5 |
|
| 6 | +import { Markdown } from "~/components"; |
| 7 | + |
5 | 8 | - `cf.bot_management.*` |
6 | 9 | - `cf.client.bot` |
7 | 10 | - `cf.threat_score` |
| 11 | +- `cf.verified_bot_category` |
8 | 12 | - `cf.edge.server_ip` |
9 | 13 | - `cf.edge.server_port` |
10 | 14 | - `cf.edge.client_port` |
|
16 | 20 | - `http.host` |
17 | 21 | - `http.referer` |
18 | 22 | - `http.request.headers` |
| 23 | +- `http.request.headers.*` |
19 | 24 | - `http.request.accepted_languages` |
20 | 25 | - `http.request.method` |
21 | 26 | - `http.request.timestamp.sec` |
|
26 | 31 | - `http.request.version` |
27 | 32 | - `raw.http.request.full_uri` |
28 | 33 | - `raw.http.request.uri` |
| 34 | +- `raw.http.request.uri.*` |
| 35 | +- `raw.http.request.headers` |
| 36 | +- `raw.http.request.headers.*` |
29 | 37 | - `http.user_agent` |
30 | 38 | - `http.x_forwarded_for` |
31 | 39 | - `ip.src` |
|
35 | 43 | - `ip.src.city` |
36 | 44 | - `ip.src.country` |
37 | 45 | - `ip.src.continent` |
| 46 | +- `ip.src.metro_code` |
| 47 | +- `ip.src.postal_code` |
| 48 | +- `ip.src.region` |
| 49 | +- `ip.src.region_code` |
38 | 50 | - `ip.src.is_in_european_union` |
39 | 51 | - `ip.src.subdivision_1_iso_code` |
40 | 52 | - `ip.src.subdivision_2_iso_code` |
41 | 53 | - `ssl` |
42 | 54 |
|
| 55 | +{ props.location === "request" && ( |
| 56 | + <> |
| 57 | + <ul> |
| 58 | + <li><code>http.request.jwt.claims</code></li> |
| 59 | + <li><code>http.request.jwt.claims.*</code></li> |
| 60 | + <li><code>cf.waf.auth_detected</code></li> |
| 61 | + <li><code>cf.waf.credential_check.*</code></li> |
| 62 | + <li><code>cf.waf.score</code></li> |
| 63 | + <li><code>cf.waf.score.*</code></li> |
| 64 | + </ul> |
| 65 | + </> |
| 66 | +)} |
| 67 | + |
| 68 | +{ props.location === "response" && ( |
| 69 | + <> |
| 70 | + <ul> |
| 71 | + <li><code>http.response.code</code></li> |
| 72 | + <li><code>http.response.headers</code></li> |
| 73 | + <li><code>http.response.headers.*</code></li> |
| 74 | + <li><code>http.response.content_type.media_type</code></li> |
| 75 | + <li><code>cf.response.1xxx_code</code></li> |
| 76 | + <li><code>cf.response.error_type</code></li> |
| 77 | + </ul> |
| 78 | + </> |
| 79 | +)} |
| 80 | + |
43 | 81 | Refer to [Fields](/ruleset-engine/rules-language/fields/reference/) for reference information on these fields. |
44 | 82 |
|
45 | 83 | :::caution[Important] |
46 | 84 |
|
47 | | -- To obtain the value of an HTTP request header using the [`http.request.headers`](/ruleset-engine/rules-language/fields/reference/http.request.headers/) field, specify the header name in **lowercase**. For example, to get the first value of the `Accept-Encoding` request header in an expression, use: `http.request.headers["accept-encoding"][0]`. |
| 85 | +- To obtain the value of an HTTP header using the [`http.request.headers`](/ruleset-engine/rules-language/fields/reference/http.request.headers/) { props.location === "response" ? <Markdown text='or [`http.response.headers`](/ruleset-engine/rules-language/fields/reference/http.response.headers/) field'/> : 'field' }, specify the header name in **lowercase**. For example, to get the first value of the `Accept-Encoding` request header in an expression, use: `http.request.headers["accept-encoding"][0]`. |
48 | 86 |
|
49 | 87 | - Use the `to_string()` function to get the string representation of a non-string value like an Integer value. For example, `to_string(cf.bot_management.score)`. |
50 | 88 |
|
|
0 commit comments