URI引数と値フィールド
Cloudflareのルール言語には、HTTPリクエストに関連するURI引数と値フィールドが含まれています。これらのフィールドの多くは、それぞれの値を含む配列を返します。
Cloudflareのルール言語は、これらのURI引数と値フィールドをサポートしています。
http.request.uri.args Map<Array<String>>
リクエストに関連するHTTP URI引数をマップ(連想配列)として表します。
引数が繰り返される場合、配列にはリクエストに現れる順序で複数のアイテムが含まれます。
値は事前処理されず、リクエストで使用された元のケースを保持します。
- デコーディング: デコーディングは行われません
- 非ASCII: 保存されます
例:
any(http.request.uri.args["search"][*] == "red+apples")
例の値:
{"search": ["red+apples"]}
http.request.uri.args.names Array<String>
HTTP URIクエリ文字列内の引数の名前を表します。名前は事前処理されず、リクエストで使用された元のケースを保持します。
名前が繰り返される場合、配列にはリクエストに現れる順序で複数のアイテムが含まれます。
- デコーディング: デコーディングは行われません
- 非ASCII: 保存されます
例:
any(http.request.uri.args.names[*] == "search")
例の値:
["search"]
http.request.uri.args.values Array<String>
HTTP URIクエリ文字列内の引数の値を表します。値は事前処理されず、リクエストで使用された元のケースを保持します。リクエスト内の順序と同じです。
重複した値は複数回リストされます。
- デコーディング: デコーディングは行われません
- 非ASCII: 保存されます
例:
any(http.request.uri.args.values[*] == "red+apples")
例の値:
["red+apples"]
raw.http.request.uri.args Map<Array<String>>
http.request.uri.argsと同じフィールド値を含みます。
raw.http.request.uri.args.names Array<String>
http.request.uri.args.namesと同じフィールド値を含みます。
raw.http.request.uri.args.values Array<String>
http.request.uri.args.valuesと同じフィールド値を含みます。