githubModifier

Helpers javascript côté serveur

Cet article décrit les APIs 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ée. Renvoie undefined lorsqu'on fournit une entrée invalide.

Syntaxe

decodeUri(encoded_uri);

Exemple

const decodeUri = require('decodeUri');

const decodedUrl = decodeUri(data.encodedUrl);
if (decodedUrl) {
  // ...
}
Paramètre
Type
Description

encoded_uri

string

Une URI qui a été encodée par encodeUri()arrow-up-right ou par d'autres moyens.

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 fournit une entrée invalide.

Syntaxe

decodeUriComponent(encoded_uri_component);

Exemple

Paramètre
Type
Description

encoded_uri_component

string

Un composant d'URI qui a été encodé par encodeUriComponent()arrow-up-right ou par d'autres moyens.

encodeUri

Renvoie une Uniform Resource Identifier (URI) encodée en échappant les caractères spéciaux. Renvoie un string qui représente la chaîne fournie encodée en tant qu'URI.

Syntaxe

Exemple

Paramètre
Type
Description

uri

string

Une URI complète.

encodeUriComponent

Renvoie une Uniform Resource Identifier (URI) encodée en échappant les caractères spéciaux. Renvoie un string qui représente la chaîne fournie encodée en tant qu'URI.

Syntaxe

Exemple

Paramètre
Type
Description

str

string

Un composant d'une URI.

fromBase64

Décode une chaîne encodée en base64. Renvoie undefined si l'entrée est invalide.

Syntaxe

Exemple

Paramètre
Type
Description

base64EncodedString

string

Chaîne encodée en Base64.

generateRandom

Renvoie un number (entier) dans la plage donnée.

Syntaxe

Exemple

Paramètre
Type
Description

min

number

Valeur minimale potentielle de l'entier retourné (inclus).

max

number

Valeur maximale potentielle de l'entier retourné (inclus).

getAllEventData

Renvoie une copie des données de l'événement.

Syntaxe

Exemple d'utilisation

circle-info

Remarquez que les données de l'événement peuvent contenir plus de propriétés que ce que vous avez envoyé initialement à cause des propriétés système qui sont ajoutées automatiquement sur web events et app sdk events.

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 cookies portant le nom donné.

Syntaxe

Exemple


Paramètres

Paramètre
Type
Description

name

string

Nom du cookie.

noDecode

boolean

Si true, les valeurs des cookies 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 de l'é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

Paramètre
Type
Description

keyPath

any

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 n'est pas une chaîne, il est converti en chaîne.

getRemoteAddress

Renvoie une string représentation de l'adresse IP d'où la requête a été émise, par ex. 62.123.65.780 pour IPv4 ou 2001:0db8:85a3:0:0:8a2e:0370:1234 pour IPv6

Syntaxe

getTimestamp

Obsolète. Préférez getTimestampMillisarrow-up-right.

Renvoie une number qui représente l'heure actuelle en millisecondes depuis l'époque Unix, comme renvoyé par Date.now().

Syntaxe

getTimestampMillis

Renvoie une number qui représente l'heure actuelle en millisecondes depuis l'époque Unix, comme renvoyé par Date.now().

Syntaxe

getType

Renvoie une chaîne décrivant le type de la valeur donnée.

Type d'entrée
Valeur renvoyée

string

'string'

number

'number'

boolean

'boolean'

null

'null'

undefined

'undefined'

Array

'array'

Object

'object'

Function

'function'

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

value

any

Valeur d'entrée.

logToConsole

Journalise son ou ses argument(s) dans la console.

Ces logs 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 journalisé dans la console.

makeInteger

Convertit la valeur donnée en un number (entier).

Syntaxe

Paramètres

Paramètre
Type
Description

value

any type

La valeur à convertir.

makeNumber

Convertit la valeur donnée en un number.

Syntaxe

Paramètres

Paramètre
Type
Description

value

any type

La valeur à convertir.

makeString

Renvoie la valeur donnée en tant que string.

Syntaxe

Paramètres

Paramètre
Type
Description

value

any type

La valeur à convertir.

parseUrl

Renvoie un objet contenant toutes les parties composantes d'une URL donnée, similaire au URL object.

Cette API renverra undefined pour toute URL malformée. Pour les URLs correctement formatées, les champs absents de la chaîne 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

Paramètre
Type
Description

url

string

L'URL complète qui sera analysée.

sha256

Calcule le digest SHA-256 de l'entrée et appelle un callback avec le digest encodé en base64, sauf si l' options object spécifie un encodage de sortie différent.

La signature et le comportement de cette API correspondent à l' sha256arrow-up-right API for web containers; however, Custom Templates in server containers should use the sha256Syncarrow-up-right API for simpler code.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

input

string

La chaîne à hacher.

onSuccess

function

Appelée avec le digest résultant, encodé en base64, sauf si l' options object spécifie un encodage de sortie différent.

options

object

Optional objet options facultatif pour spécifier l'encodage de sortie. Si spécifié, l'objet doit contenir la clé outputEncoding avec pour valeur l'un des base64 ou hex.

sha256Sync

Calcule et renvoie le digest SHA-256 de l'entrée, encodé en base64, sauf si l' options object spécifie un encodage de sortie différent.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

input

string

La chaîne à hacher.

options

object

Optional objet options facultatif pour spécifier l'encodage de sortie. Si spécifié, l'objet doit contenir la clé outputEncoding avec pour valeur l'un des base64 ou hex.

signHmac

Génère une signature HMAC pour le payload donné, en utilisant sha256 et base64 encoding by default, unless the options object specifies otherwise. Objects passed as payload are automatically JSON.stringify'd. Returns a string.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

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

Optional options object to customize the algorithm and output encoding. See options details below.

Options

Property
Type
Default
Description

alg

string

'sha256'

L'algorithme de hachage. Valeurs supportées : 'sha256', 'sha1', 'sha512', 'sha384', 'md5' et autres algorithmes de digest OpenSSL.

outputEncoding

string

'base64'

L'encodage de sortie. Valeurs supportées : 'base64', 'base64url', 'hex', 'binary' (latin1).

toBase64

Encode une chaîne en base64.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

input

string

Chaîne à encoder.

JSON

Renvoie un objet qui fournit des fonctions JSON.

The parse() la fonction analyse une chaîne JSON pour construire la valeur ou l'objet décrit par la chaîne. Si la valeur ne peut pas être analysée (JSON malformé), la fonction renverra undefined. Si la valeur d'entrée n'est pas une chaîne, l'entrée sera convertie en chaîne.

The stringify() la fonction convertit l'entrée en une chaîne JSON. Si la valeur ne peut pas être analysée (ex. l'objet a un cycle), la méthode renverra undefined.

Syntaxe

Exemple


Math

Un objet fournissant des Math functions.

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 appelle un callback avec la réponse une fois la requête terminée ou expirée.

Syntaxe

Exemple

Paramètres

Paramètre
Type
Description

url

string

L'URL de la requête.

callback

function

Un callback optionnel à appeler à la fin de la requête, en cas d'erreur ou d'expiration. Il est appelé avec le response status code, les response headers, et le response body (ou undefined s'il n'y avait pas de corps de réponse). Si la requête a échoué (ex. URL invalide, pas de route vers l'hôte, échec de la négociation SSL, etc.), le callback sera appelé avec un response status code of zero, no headers, et un undefined body. Si l'option 'timeout' a été définie et que la requête a expiré, le callback sera appelé avec un response status code of -1, no headers, et un undefined body.

options

object

Options de requête optionnelles. 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 que la requête ne soit annulée.

  • 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

Paramètre
Type
Description

url

string

L'URL de la requête.

callback

function

Un callback optionnel à appeler à la fin de la requête, en cas d'erreur ou d'expiration. Il est appelé avec le response status code, les response headers, et le response body (ou undefined s'il n'y avait pas de corps de réponse). Si la requête a échoué (ex. URL invalide, pas de route vers l'hôte, échec de la négociation SSL, etc.), le callback sera appelé avec un response status code of zero, no headers, et un undefined body. Si l'option 'timeout' a été définie et que la requête a expiré, le callback sera appelé avec un response status code of -1, no headers, et un undefined body.

options

object

Options de requête optionnelles. 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 optionnel.

Options

  • headers: En-têtes de requête supplémentaires.

  • method: La méthode de requête, par défaut 'GET'.

  • timeout: Le timeout, en millisecondes, avant que la requête ne soit annulée.

  • extraOptions: Options avancées (ex : {strictSSL:true})

md5Sync

Calcule et renvoie le md5 digest de l'entrée.

Syntaxe

Exemple

templateDataStorage

The templateDataStorage le 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 des appels API redondants. Les données stockées dans templateDataStorage persiste sur le serveur exécutant le template. Étant donné que les templates s'exécutent sur plusieurs serveurs, et que chaque serveur peut avoir plusieurs instances, les données stockées ne sont pas garanties d'être accessibles pour toutes les exécutions ultérieures du template.

Syntaxe

Exemple : gestion des API Tokens

Méthode
Description

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. Retourne undefined si la clé n'existe pas.

removeItemCopy(key)

Supprime la valeur associée à la clé spécifiée.

Paramètre
Type
Description

clé

string

L'identifiant unique pour les données à stocker/récupérer.

value

any

Les données à stocker (pour setItemCopy).

Mis à jour

Ce contenu vous a-t-il été utile ?