すべてのプロダクト
Search
ドキュメントセンター

Edge Security Acceleration:リクエストロジック

最終更新日:Aug 27, 2026

リクエストロジック関数は、サーバーとクライアントのアドレス、クライアントの位置情報、リクエスト URI、リクエストヘッダーなど、現在のリクエストの属性を返します。以降のセクションでは、各関数の構文、パラメーター、コード例、戻り値について説明します。

関数インデックス

次の表は、リクエストロジック関数をカテゴリ別に一覧表示し、各関数が返す値と受け入れるパラメーターを示しています。

カテゴリ関数戻り値パラメーター
サーバー属性server_addr現在のリクエストを受信したサーバーのアドレス。なし
サーバー属性server_port現在のリクエストを受信したサーバーのポート。なし
クライアント属性client_addrクライアント IP アドレス。なし
クライアント属性client_portクライアントポート。なし
クライアントの地理的位置情報client_countryクライアント IP アドレスの国またはリージョンコード。なし
クライアントの地理的位置情報client_regionクライアント IP アドレスの行政区画 (省または市) コード。なし
クライアントの地理的位置情報client_cityクライアント IP アドレスの都市コード。なし
クライアントの地理的位置情報client_ispクライアント IP アドレスの ISP コード。なし
指定された IP アドレスの地理的位置情報ip_country指定された IP アドレスの国またはリージョンコード。ipaddr
指定された IP アドレスの地理的位置情報ip_region指定された IP アドレスの行政区画 (省または市) コード。ipaddr
指定された IP アドレスの地理的位置情報ip_city指定された IP アドレスの市コード。ipaddr
指定された IP アドレスの地理的位置情報ip_isp指定された IP アドレスの ISP コード。ipaddr
URI 解析req_uriクエリパラメーターを除くリクエスト URI。[pattern]
URI 解析req_uri_basenameリクエスト URI 内のファイル名。[pattern]
URI 解析req_uri_extリクエスト URI 内のファイル拡張子。[pattern]
URI 解析req_uri_segスラッシュ (/) で分割されたリクエスト URI のセグメント。[idx]
URI 解析req_uri_arg指定された URI パラメーターの値。name, [pattern]
URI 解析req_uri_query_string疑問符 (?) を除くリクエストのクエリパラメーター。[pattern]
リクエスト行とヘッダーreq_schemeリクエストスキーム。[pattern]
リクエスト行とヘッダーreq_methodリクエストメソッド。[pattern]
リクエスト行とヘッダーreq_hostHost リクエストヘッダーの値。[pattern]
リクエスト行とヘッダーreq_user_agentUser-Agent リクエストヘッダーの値。[pattern]
リクエスト行とヘッダーreq_refererReferer リクエストヘッダーの値。[pattern]
リクエスト行とヘッダーreq_cookie指定された Cookie の値。name, [pattern]
リクエスト行とヘッダーreq_first_x_forwardedX-Forwarded-For リクエストヘッダーの最初のアドレス。[pattern]
リクエスト行とヘッダーreq_header指定されたリクエストヘッダーの値。name, [pattern]
リクエスト識別子req_id現在のリクエストのリクエスト ID。なし

注意事項

このトピックの 9 つの関数には、次の制限が適用されます:client_addr、client_country、client_region、client_city、client_isp、ip_country、ip_region、ip_city、ip_isp。

重要

クライアントアドレスがインターネットサービスプロバイダー (ISP) のネットワーク NAT ポリシーによって変更された場合、または IP アドレスが CDN IP アドレスライブラリにない場合、これらの関数の実際の戻り値は影響を受けます。これらの関数は注意して使用してください。

パターンマッチング

構文に [pattern] が含まれる関数は、オプションの pattern パラメーターを受け入れます。pattern を指定すると、関数は読み取った値を pattern と照合し、値自体ではなくブール値の結果を返します。

pattern は 2 つのマッチングモードをサポートしています:

  • 完全一致 — 値と pattern が等しいかどうかを比較します。これはデフォルトのモードです。単一の固定値を確認するために使用します。

  • 正規表現一致 — re: をプレフィックスとして付け、pattern を正規表現として使用します。値のセットを照合するために使用します。

サーバー属性

server_addr と server_port は、現在のリクエストを受信したサーバーの属性を読み取ります。

server_addr

server_addr は、現在のリクエストを受信したサーバーのアドレスを読み取ります。

  • 構文 — server_addr()

  • パラメーター — なし。

  • 戻り値 — サーバーアドレスを返します。データ型:文字列。

次の例は、server_addr の使用方法を示しています:

s_addr = server_addr()
say(concat('s_addr:', s_addr))

server_port

server_port は、現在のリクエストを受信したサーバーのポートを読み取ります。

  • 構文 — server_port()

  • パラメーター — なし。

  • 戻り値 — サーバーポートを返します。データ型:数値。

次の例は、server_port の使用方法を示しています:

s_port = server_port()
say(concat('s_port:', tostring(s_port)))

クライアント属性

client_addr と client_port は、現在のリクエストを送信したクライアントのアドレスとポートを読み取ります。

client_addr

client_addr はクライアント IP アドレスを読み取ります。代わりに X-Forwarded-For リクエストヘッダーの最初のアドレスを読み取るには、req_first_x_forwarded を使用します。

  • 構文 — client_addr()

  • パラメーター — なし。

  • 戻り値 — クライアント IP アドレスを返します。データ型: 文字列。

    client_addr注意事項

次の例は、client_addr の使用方法を示しています:

c_addr = client_addr()
say(concat('c_addr:', c_addr))

client_port

client_port はクライアントポートを読み取ります。

  • 構文 — client_port()

  • パラメーター — なし。

  • 戻り値 — クライアントポートを返します。データ型:数値。

次の例は、client_port の使用方法を示しています:

c_port = client_port()
say(concat('c_port:', tostring(c_port)))

クライアントの地理的位置情報

client_* 地理的位置情報関数は、現在のリクエストを送信したクライアントの位置情報コードを読み取ります。ご自身で提供した IP アドレスを解決するには、代わりに ip_* 関数を使用します。

これらの関数に適用される精度の制限については、「注意事項」をご参照ください。

client_country

client_country は、クライアント IP アドレスの国またはリージョンコードを読み取ります。

  • 構文 — client_country()

  • パラメーター — なし。

  • 戻り値 — クライアント IP アドレスの国またはリージョンコードを返します。データ型:文字列。国およびリージョンコードについては、「国コード」をご参照ください。

次の例は、client_country の使用方法を示しています:

c_country = client_country()
if c_country {
    say(concat('client_country:', c_country))
}

client_region

client_region は、クライアント IP アドレスの行政区画 (省または市) コードを読み取ります。

  • 構文 — client_region()

  • パラメーター — なし。

  • 戻り値 — クライアント IP アドレスの行政区画 (省または市) コードを返します。データ型:文字列。行政区画コードについては、「行政区画コード」をご参照ください。

次の例は、client_region の使用方法を示しています:

c_region = client_region()
if c_region {
    say(concat('client_region:', c_region))
}

client_isp

client_isp は、クライアント IP アドレスの ISP コードを読み取ります。

  • 構文 — client_isp()

  • パラメーター — なし。

  • 戻り値 — クライアント IP アドレスの ISP コードを返します。データ型:文字列。ISP コードについては、「ISP コード」をご参照ください。

次の例は、client_isp の使用方法を示しています:

c_isp = client_isp()
if c_isp {
    say(concat('client_isp:', c_isp))
}

指定された IP アドレスの地理的位置情報

ip_* 関数は、ipaddr で渡す IP アドレスの位置情報コードを読み取ります。現在のリクエストを送信したクライアントを解決するには、代わりに client_* 地理的位置情報関数を使用します。

これらの関数に適用される精度の制限については、「注意事項」をご参照ください。

ip_region

ip_region は、指定された IP アドレスの行政区画 (省または市) コードを読み取ります。

  • 構文 — ip_region(ipaddr)

  • パラメーター — ipaddr:ドット付き 10 進表記の IP アドレス文字列。

  • 戻り値 — 指定された IP アドレスの行政区画 (省または市) コードを返します。データ型:文字列。行政区画コードについては、「行政区画コード」をご参照ください。

次の例は、ip_region の使用方法を示しています:

c_region = ip_region('192.168.0.1')
if c_region {
    say(concat('ip_region:', c_region))
}

ip_isp

ip_isp は、指定された IP アドレスの ISP コードを読み取ります。

  • 構文 — ip_isp(ipaddr)

  • パラメーター — ipaddr:ドット付き 10 進表記の IP アドレス文字列。

  • 戻り値 — 指定された IP アドレスの ISP コードを返します。データ型:文字列。ISP コードについては、「ISP コード」をご参照ください。

次の例は、ip_isp の使用方法を示しています:

c_isp = ip_isp('192.168.0.1')
if c_isp {
    say(concat('ip_isp:', c_isp))
}

URI 解析

次の関数は、パス、ファイル名、ファイル拡張子、パスセグメント、URI パラメーター、クエリ文字列など、リクエスト URI の個々の部分を読み取ります。

req_uri

req_uri は、クエリパラメーターを除くリクエスト URI を読み取ります。

  • 構文 — req_uri([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:リクエスト URI を返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、req_uri の使用方法を示しています:

# req_uri
say(concat('req_uri: ', req_uri()))
if req_uri('/path1/path2') {
    say('req_uri: plain match')
}
if req_uri('re:/path[0-9]/path[0-9]') {
    say('req_uri: regex match')
}

この例では、次の結果が返されます:

Request: /path1/path2?mode=ip
Response:
req_uri: /path1/path2
req_uri: plain match
req_uri: regex match

req_uri_basename

req_uri_basename は、リクエスト URI 内のファイル名を読み取ります。

  • 構文 — req_uri_basename([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:リクエスト URI 内のファイル名を返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、リクエスト URI のどの部分がファイル名であるかを示しています:

  • /document_detail/30360.html の場合、ファイル名は 30360 です。

  • /M604/guopei_mp4/ZYJY2017BJGL0101/2-1_g.mp4 の場合、ファイル名は 2-1_g です。

  • /tarball/foo.tar.bz2 の場合、ファイル名は foo です。

次の例は、req_uri_basename の使用方法を示しています:

# req_uri_basename
basename = req_uri_basename()
say(concat('req_uri_basename: ', basename, ' ', len(basename)))
if req_uri_basename('foo') {
    say('req_uri_basename: plain match')
}
if req_uri_basename('re:^f.*') {
    say('req_uri_basename: regex match')
}

この例では、次の結果が返されます:

Request: /path1/path2/foo.tar.bz2
Response:
req_uri_basename: foo 3
req_uri_basename: plain match
req_uri_basename: regex match

req_uri_ext

req_uri_ext は、リクエスト URI 内のファイル拡張子を読み取ります。

  • 構文 — req_uri_ext([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:リクエスト URI 内のファイル拡張子を返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、リクエスト URI のどの部分がファイル拡張子であるかを示しています:

  • /document_detail/30360.html の場合、ファイル拡張子は .html です。

  • /M604/guopei_mp4/ZYJY2017BJGL0101/2-1_g.mp4 の場合、ファイル拡張子は .mp4 です。

  • /tarball/foo.tar.bz2 の場合、ファイル拡張子は .tar.bz2 です。

次の例は、req_uri_ext の使用方法を示しています:

# req_uri_ext
ext = req_uri_ext()
say(concat('req_uri_ext: ', ext, ' ', len(ext)))
if req_uri_ext('.tar.bz2') {
    say('req_uri_ext: plain match')
}
if req_uri_ext('re:\.tar\.bz[0-2]') {
    say('req_uri_ext: regex match')
}

この例では、次の結果が返されます:

Request: /path1/path2/foo.tar.bz2
Response:
req_uri_ext: .tar.bz2 8
req_uri_ext: plain match
req_uri_ext: regex match

req_uri_seg

req_uri_seg は、リクエスト URI をスラッシュ (/) でセグメントに分割します。

重要

セグメントには最大 128 文字を含めることができます。この制限を超えるコンテンツは破棄されます。

  • 構文 — req_uri_seg([idx])

  • パラメーター — idx (オプション):開始インデックスを指定します。セグメントインデックスは 1 から始まり、リクエスト URI の先頭から左から右へと増加します。

  • 戻り値

    • idx なし:すべてのセグメントを含むディクショナリを返します。データ型:ディクショナリ。

    • idx あり:指定されたインデックスから始まるセグメント (そのインデックスのセグメントを含む) を含むディクショナリを返します。データ型:ディクショナリ。

説明

返されたディクショナリから指定されたインデックスのセグメントを取得するときは、セグメントが空でないか確認する必要があります。

次の例は、req_uri_seg の使用方法を示しています:

# req_uri_seg
def echo_each(k, v, u) {
    say(concat(get(u, 'msg'), ' : segs[', k, ']=', v))
}
# fetch all segments
segs = req_uri_seg()
foreach(segs, echo_each, ['msg'='req_uri_seg()'])
# fetch segments from idx 3
segs = req_uri_seg(3)
if get(segs, 3) {
    say(concat('req_uri_seg(3): segs[3]=', get(segs, 3)))
}
if get(segs, 4) {
    say(concat('req_uri_seg(3): segs[4]=', get(segs, 4)))
}
if get(segs, 5) {
    say(concat('req_uri_seg(3): segs[5]=', get(segs, 5)))
}

この例では、次の結果が返されます:

Request: /path1/path2/path3/path4?mode=req2
Response:
req_uri_seg() : segs[1]=path1
req_uri_seg() : segs[2]=path2
req_uri_seg() : segs[3]=path3
req_uri_seg() : segs[4]=path4
req_uri_seg(3): segs[3]=path3
req_uri_seg(3): segs[4]=path4

req_uri_arg

req_uri_arg は、指定された URI パラメーターの値を読み取ります。

  • 構文 — req_uri_arg(name, [pattern])

  • パラメーター

    • name:パラメーター名。

    • pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:

      • パラメーターが存在する場合:name で指定されたパラメーターの文字列値を返します。データ型:文字列。

      • パラメーターが存在しない場合:false を返します。

    • pattern あり:

      • パラメーターが存在する場合:マッチングを実行し、成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

      • パラメーターが存在しない場合:false を返します。

次の例は、req_uri_arg の使用方法を示しています:

# req_uri_arg
uid = req_uri_arg('uid')
if uid {
    say(concat('found uid ', uid))
} else {
    say('not found uid')
}
uid_chk = req_uri_arg('uid', '058334')
if uid_chk {
    say('check uid ok. plain mode')
} else {
    say('check uid fail. plain mode')
}
uid_chk = req_uri_arg('uid', 're:[0-9]+')
if uid_chk {
    say('check uid ok. regex mode')
} else {
    say('check uid fail. regex mode')
}

この例では、次の結果が返されます:

Request: /path1/path2/path3/path4?mode=req4&uid
Response:
not found uid
check uid fail. plain mode
check uid fail. regex mode

Request: /path1/path2/path3/path4?mode=req4&uid=
Response:
found uid
check uid fail. plain mode
check uid fail. regex mode

Request: /path1/path2/path3/path4?mode=req4&uid=12345
Response:
found uid 12345
check uid fail. plain mode
check uid ok. regex mode

req_uri_query_string

req_uri_query_string は、疑問符 (?) を除くリクエストのクエリパラメーターを読み取ります。

  • 構文 — req_uri_query_string([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:リクエストのクエリパラメーターを返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、req_uri_query_string の使用方法を示しています:

# req_uri_query_string
say(concat('req_uri_query_string: ', req_uri_query_string()))
if req_uri_query_string('mode=') {
    say('check uri query string ok. plain mode')
} else {
    say('check uri query string fail. plain mode')
}
if req_uri_query_string('re:mode=[0-9a-z]+') {
    say('check uri query string ok. regex mode')
} else {
    say('check uri query string fail. regex mode')
}

この例では、次の結果が返されます:

Request: /path1/path2/path3/path4?mode=req5&token=34Deasd#243
Response:
req_uri_query_string: mode=req5&token=34Deasd
check uri query string fail. plain mode
check uri query string ok. regex mode

リクエスト行とヘッダー

次の関数は、現在のリクエストのリクエスト行の属性、リクエストヘッダーの値、および Cookie の値を読み取ります。

req_scheme

req_scheme はリクエストスキームを読み取ります。

  • 構文 — req_scheme([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:リクエストスキームを返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、req_scheme の使用方法を示しています:

# req_scheme
say(concat('req_scheme: ', req_scheme()))
if req_scheme('https') {
    say('check scheme ok. plain mode')
} else {
    say('check scheme fail. plain mode')
}
if req_scheme('re:https?') {
    say('check scheme ok. regex mode')
} else {
    say('check scheme fail. regex mode')
}

この例では、次の結果が返されます:

Request: http://xx..
Response:
req_scheme: http
check scheme fail. plain mode
check scheme ok. regex mode

req_method

req_method はリクエストメソッドを読み取ります。

  • 構文 — req_method([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:リクエストメソッドを返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、req_method の使用方法を示しています:

# req_method
say(concat('req_method: ', req_method()))
if req_method('GET') {
    say('check method ok. plain mode')
} else {
    say('check method fail. plain mode')
}
if req_method('re:(GET|POST)') {
    say('check method ok. regex mode')
} else {
    say('check method fail. regex mode')
}

この例では、次の結果が返されます:

Request: POST /xxxx/xxx
Response:
req_method: POST
check method fail. plain mode
check method ok. regex mode

req_host

req_host は、Host リクエストヘッダーの値を読み取ります。

  • 構文 — req_host([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:Host リクエストヘッダーの値を返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、req_host の使用方法を示しています:

# req_host
say(concat('req_host: ', req_host()))
if req_host('image.developer.aliyundoc.com') {
    say('check host ok. plain mode')
} else {
    say('check host fail. plain mode')
}
if req_host('re:.+\.y\.z\.com') {
    say('check host ok. regex mode')
} else {
    say('check host fail. regex mode')
}

この例では、次の結果が返されます:

Request: Host: image.developer.aliyundoc.com
Response:
req_host: image.developer.aliyundoc.com
check host fail. plain mode
check host ok. regex mode

req_user_agent

req_user_agent は、User-Agent リクエストヘッダーの値を読み取ります。

  • 構文 — req_user_agent([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:User-Agent リクエストヘッダーの値を返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、req_user_agent の使用方法を示しています:

# req_user_agent
say(concat('req_user_agent: ', req_user_agent()))
if req_user_agent('Mozilla') {
    say('check user_agent ok. plain mode')
} else {
    say('check user_agent fail. plain mode')
}
if req_user_agent('re:^Mozilla') {
    say('check user_agent ok. regex mode')
} else {
    say('check user_agent fail. regex mode')
}

この例では、次の結果が返されます:

Request: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
Response:
req_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
check user_agent fail. plain mode
check user_agent ok. regex mode

req_referer

req_referer は、Referer リクエストヘッダーの値を読み取ります。

  • 構文 — req_referer([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:Referer リクエストヘッダーの値を返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、req_referer の使用方法を示しています:

# req_referer
say(concat('req_referer: ', req_referer()))
if req_referer('https://example.aliyundoc.com/******00003') {
    say('check referer ok. plain mode')
} else {
    say('check referer fail. plain mode')
}
if req_referer('re:https://foo\.bar\.cn/\*+[0-9]+') {
    say('check referer ok. regex mode')
} else {
    say('check referer fail. regex mode')
}

この例では、次の結果が返されます:

Request: Referer: https://example.aliyundoc.com/******00003
Response:
req_referer: https://example.aliyundoc.com/******00003
check referer ok. plain mode
check referer fail. regex mode

req_first_x_forwarded

req_first_x_forwarded は、X-Forwarded-For リクエストヘッダーの最初のアドレスを読み取ります。代わりにクライアント IP アドレスを読み取るには、client_addr を使用します。

  • 構文 — req_first_x_forwarded([pattern])

  • パラメーター — pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:X-Forwarded-For リクエストヘッダーの最初のアドレスを返します。データ型:文字列。

    • pattern あり:マッチングが成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

次の例は、req_first_x_forwarded の使用方法を示しています:

# req_first_x_forwarded
say(concat('req_first_x_forwarded: ', req_first_x_forwarded()))
if req_first_x_forwarded('203.0.113.1') {
    say('check first_x_forwarded ok. plain mode')
} else {
    say('check first_x_forwarded fail. plain mode')
}
if req_first_x_forwarded('re:203.0.113.[0-9]') {
    say('check first_x_forwarded ok. regex mode')
} else {
    say('check first_x_forwarded fail. regex mode')
}

この例では、次の結果が返されます:

Request: X-Forwarded-For: 203.0.113.1, 10.10.10.10, 172.16.0.1
Response:
req_first_x_forwarded: 203.0.113.1
check first_x_forwarded ok. plain mode
check first_x_forwarded ok. regex mode

req_header

req_header は、指定されたリクエストヘッダーの値を読み取ります。

  • 構文 — req_header(name, [pattern])

  • パラメーター

    • name:リクエストヘッダー名。リクエストヘッダー名の各ハイフン (-) をアンダースコア (_) に置き換えます。たとえば、X-USER-ID は x_user_id になります。

    • pattern:マッチングに使用されるパターン。サポートされているマッチングモードについては、「パターンマッチング」をご参照ください。

  • 戻り値

    • pattern なし:

      • リクエストヘッダーが存在する場合:name で指定されたリクエストヘッダーの文字列値を返します。データ型:文字列。

      • リクエストヘッダーが存在しない場合:false を返します。

    • pattern あり:

      • リクエストヘッダーが存在する場合:マッチングを実行し、成功した場合は true を返し、失敗した場合は false を返します。データ型:ブール値。

      • リクエストヘッダーが存在しない場合:false を返します。

次の例は、req_header の使用方法を示しています:

# req_header
uid = req_header('x_uid')
if uid {
    say(concat('found header x-uid ', uid))
} else {
    say('not found header x-uid')
}
uid_chk = req_header('x_uid', 'es developer')
if uid_chk {
    say('check header x-uid ok. plain mode')
} else {
    say('check header x-uid fail. plain mode')
}
uid_chk = req_header('x_uid', 're:es [a-z]+')
if uid_chk {
    say('check header x-uid ok. regex mode')
} else {
    say('check header x-uid fail. regex mode')
}

この例では、次の結果が返されます:

Request: X-UID: es developer
Response:
found header x-uid es developer
check header x-uid ok. plain mode
check header x-uid ok. regex mode

リクエスト識別子

次の関数は、現在のリクエストのリクエスト ID を読み取ります。

req_id

req_id は、各リクエストの一意の識別子であるリクエスト ID を読み取ります。

  • 構文 — req_id()

  • パラメーター — なし。

  • 戻り値 — リクエスト ID を返します。データ型:文字列。

次の例は、req_id の使用方法を示しています:

# req_id
say(concat('req_id: ', req_id()))

この例では、req_id: 6451c43d15815890089411000e が返されます。