Helpers JavaScript server-side
Cet article décrit les API de destination server-side.
decodeURI
Décode tous les caractères encodés dans l'URI fourni. Renvoie un string qui représente l'URI décodé. Renvoie undefined lorsqu'on lui fournit une entrée invalide.
Syntaxe
decodeUri(encoded_uri);Exemple
const decodeUri = require('decodeUri');
const decodedUrl = decodeUri(data.encodedUrl);
if (decodedUrl) {
// ...
}decodeUriComponent
Décode tous les caractères encodés dans le composant d'URI fourni. Renvoie un string qui représente le composant d'URI décodé. Renvoie undefined lorsqu'on lui fournit une entrée invalide.
Syntaxe
decodeUriComponent(encoded_uri_component);Exemple
encoded_uri_component
string
Un composant d'URI qui a été encodé par encodeUriComponent() ou par d'autres moyens.
encodeUri
Renvoie un Uniform Resource Identifier (URI) encodé en échappant les caractères spéciaux. Renvoie un string qui représente la chaîne fournie encodée sous forme d'URI.
Syntaxe
Exemple
uri
string
Un URI complet.
encodeUriComponent
Renvoie un Uniform Resource Identifier (URI) encodé en échappant les caractères spéciaux. Renvoie un string qui représente la chaîne fournie encodée sous forme d'URI.
Syntaxe
Exemple
str
string
Un composant d'URI.
fromBase64
Décode une chaîne encodée en base64. Renvoie undefined si l'entrée est invalide.
Syntaxe
Exemple
base64EncodedString
string
Chaîne encodée en base64.
generateRandom
Renvoie un nombre aléatoire number (entier) dans l'intervalle donné.
Syntaxe
Exemple
min
number
Valeur potentielle minimale de l'entier renvoyé (inclus).
max
number
Valeur potentielle maximale de l'entier renvoyé (inclus).
getAllEventData
Renvoie une copie des données d'événement.
Syntaxe
Exemple d'utilisation
Exemple de données :
Si vous envoyez cet événement web :
Alors la fonction getAllEventData() renverra cet objet :
getCookieValues
Renvoie un tableau contenant les valeurs de tous les cookie portant le nom donné.
Syntaxe
Exemple
Paramètres
name
string
Nom du cookie.
noDecode
boolean
Si true, les valeurs de cookie ne seront pas décodées avant d'être renvoyées. Par défaut, false.
getEventData
Renvoie une copie de la valeur au chemin donné dans les données d'événement. Renvoie undefined s'il n'y a pas de données d'événement ou s'il n'y a pas de valeur au chemin donné.
Syntaxe
Exemple
Paramètres
keyPath
de
Le chemin de la clé, où les composants du chemin sont séparés par des points. Les composants du chemin peuvent être des clés dans un objet ou des indices dans un tableau. Si keyPath ce n'est pas une chaîne, il est converti en chaîne.
getRemoteAddress
Renvoie une string représentation de l'adresse IP d'origine de la requête, par exemple 62.123.65.780 pour IPv4 ou 2001:0db8:85a3:0:0:8a2e:0370:1234 pour IPv6
Syntaxe
getTimestamp
Obsolète. Préférez getTimestampMillis.
Renvoie une number qui représente l'heure actuelle en millisecondes depuis l'époque Unix, telle que renvoyée par Date.now().
Syntaxe
getTimestampMillis
Renvoie une number qui représente l'heure actuelle en millisecondes depuis l'époque Unix, telle que renvoyée par Date.now().
Syntaxe
getType
Renvoie une chaîne décrivant le type de la valeur donnée.
string
'string'
number
'number'
boolean
'boolean'
null
'null'
undefined
'undefined'
Tableau
'array'
Objet
'object'
Fonction
'function'
Syntaxe
Exemple
Paramètres
valeur
de
Valeur d'entrée.
logToConsole
Enregistre ses arguments dans la console.
Ces journaux sont visibles dans la console de Destination Builder.
Exemple
Syntaxe
Paramètres
La fonction prend un ou plusieurs arguments, chacun étant converti en chaîne si nécessaire, puis consigné dans la console.
makeInteger
Convertit la valeur donnée en number (entier).
Syntaxe
Paramètres
valeur
tout type
La valeur à convertir.
makeNumber
Convertit la valeur donnée en number.
Syntaxe
Paramètres
valeur
tout type
La valeur à convertir.
makeString
Renvoie la valeur donnée sous forme de string.
Syntaxe
Paramètres
valeur
tout type
La valeur à convertir.
parseUrl
Renvoie un objet qui contient toutes les parties composantes d'une URL donnée, similaire à URL objet.
Cette API renverra undefined undefined pour toute URL malformée. Pour des URL correctement formatées, les champs absents de la chaîne d'URL auront la valeur d'une chaîne vide, ou, dans le cas de searchParams, un objet vide.
L'objet renvoyé aura les champs suivants :
Syntaxe
Exemple
Paramètres
url
string
L'URL complète qui sera analysée.
sha256
Calcule le condensat SHA-256 de l'entrée et appelle un callback avec le condensat encodé en base64, sauf si le options objet options spécifie un encodage de sortie différent.
Cette signature et ce comportement de l'API correspondent à sha256 l'API pour les conteneurs web ; cependant, les Custom Templates dans les conteneurs serveur doivent utiliser la sha256Sync API pour un code plus simple.
Syntaxe
Exemple
Paramètres
input
string
La chaîne à hacher.
onSuccess
fonction
Appelé avec le condensat résultant, encodé en base64, sauf si l' options objet options spécifie un encodage de sortie différent.
options
object
Facultatif objet options permet de spécifier l'encodage de sortie. S'il est spécifié, l'objet doit contenir la clé outputEncoding avec comme valeur l'un de base64 ou hex.
sha256Sync
Calcule et renvoie le condensat SHA-256 de l'entrée, encodé en base64, sauf si le options objet options spécifie un encodage de sortie différent.
Syntaxe
Exemple
Paramètres
input
string
La chaîne à hacher.
options
object
Facultatif objet options permet de spécifier l'encodage de sortie. S'il est spécifié, l'objet doit contenir la clé outputEncoding avec comme valeur l'un de base64 ou hex.
signHmac
Génère une signature HMAC pour le payload donné, en utilisant sha256 et base64 l'encodage par défaut, sauf si l' options objet options indique le contraire. Les objets passés en tant que payload sont automatiquement JSON.stringify'd. Renvoie un string.
Syntaxe
Exemple
Paramètres
payload
string|object
Les données à signer. Les objets sont automatiquement convertis en chaînes JSON.
secret
string
La clé secrète utilisée pour la génération HMAC.
options
object
Facultatif Objet options permettant de personnaliser l'algorithme et l'encodage de sortie. Voir les détails des options ci-dessous.
Options
alg
string
'sha256'
L'algorithme de hachage. Valeurs prises en charge : 'sha256', 'sha1', 'sha512', 'sha384', 'md5' et autres algorithmes de condensat OpenSSL.
outputEncoding
string
'base64'
L'encodage de sortie. Valeurs prises en charge : 'base64', 'base64url', 'hex', 'binary' (latin1).
toBase64
Encode une chaîne en base64.
Syntaxe
Exemple
Paramètres
input
string
Chaîne à encoder.
JSON
Renvoie un objet qui fournit des fonctions JSON.
Le parse() la fonction analyse une chaîne JSON pour construire la valeur ou l'objet décrits par la chaîne. Si la valeur ne peut pas être analysée (JSON mal formé), la fonction renverra undefined. Si la valeur d'entrée n'est pas une chaîne, l'entrée sera convertie en chaîne.
Le stringify() la fonction convertit l'entrée en chaîne JSON. Si la valeur ne peut pas être sérialisée (ex. l'objet a un cycle), la méthode renverra undefined.
Syntaxe
Exemple
Math
Un objet fournissant Math fonctions.
Syntaxe
Paramètres
Les paramètres des fonctions Math sont convertis en nombres.
sendHttpGet
Effectue une requête HTTP GET vers l'URL spécifiée, et invoque un callback avec la réponse une fois la requête terminée ou expirée.
Syntaxe
Exemple
Paramètres
url
string
L'URL de la requête.
callback
fonction
Un callback facultatif à invoquer à la fin de la requête, en cas d'erreur ou de timeout.
Il est appelé avec le code d'état de la réponse, le les en-têtes de la réponse, et le corps de la réponse (ou undefined s'il n'y avait pas de corps de réponse).
Si la requête a échoué (par ex. URL invalide, aucune route vers l'hôte, échec de la négociation SSL, etc.), le callback sera appelé avec un code d'état de réponse égal à zéro, aucun en-tête, et un corps undefined.
Si l' 'timeout' option a été définie et que la requête a expiré, le callback sera appelé avec un code d'état de réponse égal à -1, aucun en-tête, et un corps undefined.
options
object
Options de requête facultatives. Les options prises en charge sont headers, timeout. Des options avancées peuvent être ajoutées dans extraOptions
Options
headers: En-têtes de requête supplémentaires représentés sous forme d'objet.
timeout: Le timeout, en millisecondes, avant l'abandon de la requête.
extraOptions: Options avancées (ex : {strictSSL:true})
sendHttpRequest
Effectue une requête HTTP vers l'URL spécifiée et appelle un callback avec la réponse une fois la requête terminée ou expirée.
Syntaxe
Exemple
Paramètres
url
string
L'URL de la requête.
callback
fonction
Un callback facultatif à invoquer à la fin de la requête, en cas d'erreur ou de timeout. Il est appelé avec le code d'état de la réponse, le les en-têtes de la réponse, et le corps de la réponse (ou undefined s'il n'y avait pas de corps de réponse). Si la requête a échoué (par ex. URL invalide, aucune route vers l'hôte, échec de la négociation SSL, etc.), le callback sera appelé avec un code d'état de réponse égal à zéro, aucun en-tête, et un corps undefined. Si l'option 'timeout' a été définie et que la requête a expiré, le callback sera appelé avec un code d'état de réponse égal à -1, aucun en-tête, et un corps undefined.
options
object
Options de requête facultatives. Les options prises en charge sont : headers, method, et timeout. Les clés d'option inconnues sont ignorées. Des options avancées peuvent être ajoutées dans extraOptions.
body
string
Corps de requête facultatif.
Options
headers: En-têtes de requête supplémentaires.
method: La méthode de requête, la valeur par défaut est 'GET'.
timeout: Le timeout, en millisecondes, avant l'abandon de la requête.
extraOptions: Options avancées (ex : {strictSSL:true})
md5Sync
Calcule et renvoie le md5 empreinte de l'entrée.
Syntaxe
Exemple
templateDataStorage
Le templateDataStorage helper permet le stockage temporaire et la récupération de données, telles que des tokens API, pendant l'exécution du script. Il est particulièrement utile pour mettre en cache des données réutilisables afin de réduire les appels API redondants. Les données stockées dans templateDataStorage persiste sur le serveur qui exécute le template. Comme les templates s'exécutent sur plusieurs serveurs, et que chaque serveur peut avoir plusieurs instances, il n'est pas garanti que les données stockées soient accessibles pour toutes les exécutions ultérieures du template.
Syntaxe
Exemple : gestion des tokens API
setItemCopy(key, value)
Stocke une valeur sous la clé spécifiée. Écrase la valeur si la clé existe déjà.
getItemCopy(key)
Récupère la valeur associée à la clé spécifiée. Renvoie undefined si la clé n'existe pas.
removeItemCopy(key)
Supprime la valeur associée à la clé spécifiée.
clé
string
L'identifiant unique des données à stocker/récupérer.
valeur
de
Les données à stocker (par setItemCopy).
Mis à jour
Ce contenu vous a-t-il été utile ?