Tous les produits
Search
Centre de documentation

ApsaraVideo VOD:Fonctions de logique de requête

Dernière mise à jour :Aug 10, 2026

Cette rubrique décrit la syntaxe, les fonctionnalités, les paramètres et les valeurs de retour des fonctions de logique de requête. Elle fournit également des exemples d'utilisation de ces fonctions.

server_addr

Renvoie l'adresse IP du nœud CDN qui a reçu la requête actuelle.

Syntaxe

server_addr()

Paramètres

Aucun.

Valeur de retour

L'adresse IP du serveur. Type de données : chaîne (string).

Exemple

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

server_port

Renvoie le port du nœud CDN qui a reçu la requête actuelle.

Syntaxe

server_port()

Paramètres

Aucun.

Valeur de retour

Le port du serveur. Type de données : numérique.

Exemple

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

client_addr

Renvoie l'adresse IP du client qui a envoyé la requête.

Les valeurs de retour peuvent être inexactes. Consultez la note sur la précision en haut de cette page.

Syntaxe

client_addr()

Paramètres

Aucun.

Valeur de retour

L'adresse IP du client. Type de données : chaîne (string).

Exemple

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

client_port

Renvoie le port du client qui a envoyé la requête.

Syntaxe

client_port()

Paramètres

Aucun.

Valeur de retour

Le port du client. Type de données : numérique.

Exemple

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

client_region

Important

Cette fonction interroge le code de division administrative d'un client. Le tableau suivant présente les détails relatifs à cette fonction.

Élément

Description

Syntaxe

client_region()

Paramètre

Aucun

Exemples

c_country = client_country()
c_region = client_region()
c_city = client_city()
c_isp = client_isp()
if c_country {
    say(concat('client_country:', c_country))
}
if c_region {
    say(concat('client_region:', c_region))
}
if c_city { 
    say(concat('client_city:', c_city)) 
}
if c_isp {
    say(concat('client_isp:', c_isp))
}

Valeurs de retour

Renvoie le code de division administrative du client spécifié sous forme de chaîne. Pour plus d'informations sur les codes de division administrative, consultez la rubrique Codes de division administrative des subdivisions de niveau préfectoral en Chine.

client_isp

Important

La valeur de retour peut être inexacte, car l'adresse du client peut être modifiée par les règles NAT du fournisseur de services Internet (ISP) ou l'adresse IP ne figure pas dans le pool d'adresses d'Alibaba Cloud CDN. Procédez avec prudence.

Cette fonction interroge le code ISP d'un client. Le tableau suivant présente les détails relatifs à cette fonction.

Élément

Description

Syntaxe

client_isp()

Paramètre

Aucun

Exemples

c_country = client_country()
c_region = client_region()
c_city = client_city()
c_isp = client_isp()
if c_country {
    say(concat('client_country:', c_country))
}
if c_region {
    say(concat('client_region:', c_region))
}
if c_city { 
    say(concat('client_city:', c_city)) 
}
if c_isp {
    say(concat('client_isp:', c_isp))
}

Valeurs de retour

Renvoie le code ISP du client spécifié sous forme de chaîne. Pour plus d'informations sur les codes ISP, consultez la rubrique Codes ISP.

ip_region

Important

La valeur de retour peut être inexacte, car l'adresse du client peut être modifiée par les règles NAT du fournisseur de services Internet (ISP) ou l'adresse IP ne figure pas dans le pool d'adresses d'Alibaba Cloud CDN. Procédez avec prudence.

Cette fonction interroge le code de division administrative de la ville ou de la province à laquelle appartient une adresse IP spécifiée. Le tableau suivant présente les détails relatifs à cette fonction.

Élément

Description

Syntaxe

ip_region(ipaddr)

Paramètre

ipaddr : spécifie une adresse IP en notation décimale pointée.

Exemples

c_country = ip_country('192.168.0.1')
c_region = ip_region('192.168.0.1')
c_city = ip_city('192.168.0.1')
c_isp = ip_isp('192.168.0.1')
if c_country {
    say(concat('ip_country:', c_country))
}
if c_region {
    say(concat('ip_region:', c_region))
}
if c_city {
    say(concat('ip_city:', c_city))
}
if c_isp {
    say(concat('ip_isp:', c_isp))
}

Valeurs de retour

Renvoie le code de division administrative de la ville ou de la province à laquelle appartient l'adresse IP spécifiée, sous forme de chaîne. Pour plus d'informations sur les codes de région, consultez la rubrique Codes de division administrative des subdivisions de niveau préfectoral en Chine.

ip_isp

Important

La valeur de retour peut être inexacte, car l'adresse du client peut être modifiée par les règles NAT du fournisseur de services Internet (ISP) ou l'adresse IP ne figure pas dans le pool d'adresses d'Alibaba Cloud CDN. Procédez avec prudence.

Cette fonction interroge le code ISP d'une adresse IP spécifiée. Le tableau suivant présente les détails relatifs à cette fonction.

Élément

Description

Syntaxe

ip_isp(ipaddr)

Paramètre

ipaddr : spécifie une adresse IP en notation décimale pointée.

Exemples

c_country = ip_country('192.168.0.1')
c_region = ip_region('192.168.0.1')
c_city = ip_city('192.168.0.1')
c_isp = ip_isp('192.168.0.1')
if c_country {
    say(concat('ip_country:', c_country))
}
if c_region {
    say(concat('ip_region:', c_region))
}
if c_city {
    say(concat('ip_city:', c_city))
}
if c_isp {
    say(concat('ip_isp:', c_isp))
}

Valeurs de retour

Renvoie le code ISP de l'adresse IP spécifiée sous forme de chaîne. Pour plus d'informations sur les codes ISP, consultez la rubrique Codes ISP.

req_uri

Renvoie l'URI de la requête, à l'exclusion des paramètres de requête. Lorsqu'elle est appelée avec un argument pattern, la fonction compare l'URI au modèle au lieu de renvoyer l'URI.

Syntaxe

req_uri([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Un modèle de correspondance. Deux types de correspondance sont pris en charge : la correspondance exacte (par défaut) et l'expression régulière (préfixez le modèle par `re:`).
|

Valeur de retour

  • Sans pattern : l'URI de la requête. Type de données : chaîne (string).

  • Avec pattern : true si l'URI correspond, false sinon.

Exemple

# 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')
}

Pour la requête GET /path1/path2?mode=ip, la sortie est la suivante :

req_uri: /path1/path2
req_uri: plain match
req_uri: regex match












req_uri_basename

Renvoie le nom de fichier dans l'URI de la requête, sans l'extension de fichier. Lorsqu'elle est appelée avec un argument pattern, la fonction compare le nom de fichier au modèle au lieu de renvoyer le nom.

Le nom de fichier correspond au dernier composant du chemin, débarrassé de son extension. Par exemple :

  • /document_detail/30360.html30360

  • /M604/guopei_mp4/ZYJY2017BJGL0101/2-1_g.mp42-1_g

  • /tarball/foo.tar.bz2foo

Syntaxe

req_uri_basename([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Un modèle de correspondance. Deux types de correspondance sont pris en charge : la correspondance exacte (par défaut) et l'expression régulière (préfixez le modèle par `re:`).
|

Valeur de retour

  • Sans pattern : le nom de fichier. Type de données : chaîne (string).

  • Avec pattern : true si le nom de fichier correspond, false sinon.

Exemple

# 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')
}

Pour la requête GET /path1/path2/foo.tar.bz2, la sortie est la suivante :

req_uri_basename: foo 3
req_uri_basename: plain match
req_uri_basename: regex match












req_uri_ext

Renvoie l'extension du fichier présente dans l'URI de la requête. Si vous fournissez un argument pattern, la fonction compare l'extension au modèle spécifié.

L'extension inclut le point initial. Pour les extensions composées, le suffixe complet est renvoyé. Exemples :

  • /document_detail/30360.html.html

  • /M604/guopei_mp4/ZYJY2017BJGL0101/2-1_g.mp4.mp4

  • /tarball/foo.tar.bz2.tar.bz2

Syntaxe

req_uri_ext([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Modèle de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le modèle avec `re:`).
|

Valeur de retour

  • Sans pattern : l'extension du fichier. Type de données : chaîne de caractères.

  • Avec pattern : true si l'extension correspond, false sinon.

Exemple

# 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')
}

Pour la requête GET /path1/path2/foo.tar.bz2, le résultat est le suivant :

req_uri_ext: .tar.bz2 8
req_uri_ext: plain match
req_uri_ext: regex match












req_uri_seg

Renvoie les segments du chemin d'URI sous forme de dictionnaire, indexés à partir de 1, de gauche à droite.

  • Sans idx : renvoie tous les segments.

  • Avec idx : renvoie les segments à partir de cet index (inclus).

Chaque segment peut contenir jusqu'à 128 caractères. Les caractères dépassant cette limite sont ignorés.

Syntaxe

req_uri_seg([idx])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`idx`
|
Non
|
Index de départ. Les index commencent à `1`.
|

Valeur de retour

Un dictionnaire des segments de chemin indexés. Vérifiez l'existence de chaque clé avant d'y accéder, car les clés manquantes renvoient une valeur vide.

Exemple

# 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)))
}

Pour la requête GET /path1/path2/path3/path4?mode=req2, le résultat est le suivant :

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

Renvoie la valeur d'un paramètre de requête nommé. Si vous fournissez un argument pattern, la fonction compare la valeur du paramètre au modèle spécifié.

Syntaxe

req_uri_arg(name, [pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`name`
|
Oui
|
Nom du paramètre de requête.
| |
`pattern`
|
Non
|
Modèle de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le modèle avec `re:`).
|

Valeur de retour

  • Sans pattern :

    • Si le paramètre existe : la valeur du paramètre. Type de données : chaîne de caractères.

    • Si le paramètre est introuvable : false.

  • Avec pattern :

    • Si le paramètre existe et que la valeur correspond : true.

    • Si le paramètre existe mais que la valeur ne correspond pas : false.

    • Si le paramètre est introuvable : false.

Exemple

# 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')
}

Le résultat varie selon la requête :

|
**Requête**
|
**Résultat**
| | --- | --- | |
`/path1/path2/path3/path4?mode=req4&uid`
|
`not found uid` / `check uid fail. plain mode` / `check uid fail. regex mode`
| |
`/path1/path2/path3/path4?mode=req4&uid=`
|
`found uid` / `check uid fail. plain mode` / `check uid fail. regex mode`
| |
`/path1/path2/path3/path4?mode=req4&uid=12345`
|
`found uid 12345` / `check uid fail. plain mode` / `check uid ok. regex mode`
|

































req_uri_query_string

Renvoie la chaîne de requête complète de la requête, sans le caractère ? initial. Si vous fournissez un argument pattern, la fonction compare la chaîne de requête au modèle spécifié.

Syntaxe

req_uri_query_string([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Modèle de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le modèle avec `re:`).
|

Valeur de retour

  • Sans pattern : la chaîne de requête. Type de données : chaîne de caractères.

  • Avec pattern : true si la chaîne de requête correspond, false sinon.

Exemple

# 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')
}

Pour la requête GET /path1/path2/path3/path4?mode=req5&token=34Deasd#243, le résultat est le suivant :

req_uri_query_string: mode=req5&token=34Deasd
check uri query string fail. plain mode
check uri query string ok. regex mode












req_scheme

Renvoie le schéma de la requête (http ou https). Si vous fournissez un argument pattern, la fonction compare le schéma au modèle spécifié.

Syntaxe

req_scheme([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Modèle de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le modèle avec `re:`).
|

Valeur de retour

  • Sans pattern : le schéma de la requête. Type de données : chaîne de caractères.

  • Avec pattern : true si le schéma correspond, false sinon.

Exemple

# 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')
}

Pour une requête HTTP, le résultat est le suivant :

req_scheme: http
check scheme fail. plain mode
check scheme ok. regex mode












req_method

Renvoie la méthode HTTP de la requête. Si vous fournissez un argument pattern, la fonction compare la méthode au modèle spécifié.

Syntaxe

req_method([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Modèle de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le modèle avec `re:`).
|

Valeur de retour

  • Sans pattern : la méthode HTTP. Type de données : chaîne de caractères.

  • Avec pattern : true si la méthode correspond, false sinon.

Exemple

# 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')
}

Pour une requête POST, le résultat est le suivant :

req_method: POST
check method fail. plain mode
check method ok. regex mode












req_host

Renvoie la valeur de l'en-tête de requête Host . Si vous fournissez un argument pattern, la fonction compare l'hôte au modèle spécifié.

Syntaxe

req_host([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Modèle de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le modèle avec `re:`).
|

Valeur de retour

  • Sans pattern : la valeur de l'en-tête Host . Type de données : chaîne de caractères.

  • Avec pattern : true si l'hôte correspond, false sinon.

Exemple

# 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')
}

Pour la requête Host: image.developer.aliyundoc.com, le résultat est le suivant :

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












req_user_agent

Renvoie la valeur de l'en-tête de requête User-Agent. Si vous spécifiez un argument pattern, la fonction compare la valeur au motif fourni.

Syntaxe

req_user_agent([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Motif de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le motif avec `re:`).
|

Valeur de retour

  • Sans pattern : la valeur de l'en-tête User-Agent. Type de données : chaîne.

  • Avec pattern : true si la valeur correspond, false sinon.

Exemple

# 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')
}

Pour la requête User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64), le résultat est le suivant :

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

Renvoie la valeur de l'en-tête de requête Referer. Si vous spécifiez un argument pattern, la fonction compare la valeur au motif fourni.

Syntaxe

req_referer([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Motif de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le motif avec `re:`).
|

Valeur de retour

  • Sans pattern : la valeur de l'en-tête Referer. Type de données : chaîne.

  • Avec pattern : true si la valeur correspond, false sinon.

Exemple

# 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')
}

Pour la requête Referer: https://example.aliyundoc.com/******00003, le résultat est le suivant :

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












req_cookie

Renvoie la valeur d'un cookie nommé. Si vous spécifiez un argument pattern, la fonction compare la valeur du cookie au motif fourni.

Syntaxe

req_cookie(name, [pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`name`
|
Oui
|
Nom du cookie.
| |
`pattern`
|
Non
|
Motif de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le motif avec `re:`).
|

Valeur de retour

  • Sans pattern :

    • Si le cookie existe : la valeur du cookie. Type de données : chaîne.

    • Si le cookie est introuvable : false.

  • Avec pattern :

    • Si le cookie existe et que la valeur correspond : true.

    • Si le cookie existe mais que la valeur ne correspond pas : false.

    • Si le cookie est introuvable : false.

Exemple

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

Pour la requête Cookie: uid=123456; token=value2, le résultat est le suivant :

found cookie uid 123456
check cookie uid fail. plain mode
check cookie uid ok. regex mode


















req_first_x_forwarded_addr

Renvoie la première adresse IP de l'en-tête de requête X-Forwarded-For. Si vous spécifiez un argument pattern, la fonction compare l'adresse au motif fourni.

Syntaxe

req_first_x_forwarded_addr([pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`pattern`
|
Non
|
Motif de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le motif avec `re:`).
|

Valeur de retour

  • Sans pattern : la première adresse IP de l'en-tête X-Forwarded-For. Type de données : chaîne.

  • Avec pattern : true si l'adresse correspond, false sinon.

Exemple

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

Pour la requête X-Forwarded-For: 1.1.X.X, 10.10.10.10, 172.16.0.1, le résultat est le suivant :

req_first_x_forwarded: 1.1.X.X
check first_x_forwarded ok. plain mode
check first_x_forwarded ok. regex mode












req_header

Renvoie la valeur d'un en-tête de requête nommé. Si vous spécifiez un argument pattern, la fonction compare la valeur de l'en-tête au motif fourni.

Syntaxe

req_header(name, [pattern])

Paramètres

|
**Paramètre**
|
**Obligatoire**
|
**Description**
| | --- | --- | --- | |
`name`
|
Oui
|
Nom de l'en-tête, en minuscules et avec les traits d'union remplacés par des underscores. Par exemple, `X-USER-ID` devient `x_user_id`.
| |
`pattern`
|
Non
|
Motif de correspondance. Deux types de comparaison sont pris en charge : correspondance exacte (par défaut) et expression régulière (préfixez le motif avec `re:`).
|

Valeur de retour

  • Sans pattern :

    • Si l'en-tête existe : la valeur de l'en-tête. Type de données : chaîne.

    • Si l'en-tête est introuvable : false.

  • Avec pattern :

    • Si l'en-tête existe et que la valeur correspond : true.

    • Si l'en-tête existe mais que la valeur ne correspond pas : false.

    • Si l'en-tête est introuvable : false.

Exemple

# 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')
}

Pour la requête X-UID: es developer, le résultat est le suivant :

found header x-uid es developer
check header x-uid ok. plain mode
check header x-uid ok. regex mode


















req_id

Renvoie l'ID Eagle Eye de la requête. Chaque ID Eagle Eye identifie de manière unique une seule requête.

Syntaxe

req_id()

Paramètres

Aucun.

Valeur de retour

ID de la requête. Type de données : chaîne.

Exemple

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

Exemple de sortie : req_id: 6451c43d15815890089411000e