Aller au contenu principal

Noeud http response

Le noeud http response est utilisé pour envoyer des réponses HTTP aux requêtes traitées par le noeud http in. Il termine le cycle de traitement de la requête et renvoie les données au client.


Paramètres du noeud http response

IMG2

1. Nom

Champ pour indiquer le nom du noeud.
Le nom s'affiche dans l'espace de travail et aide à identifier facilement le noeud.
S'il est laissé vide, le noeud sera nommé http response.

Exemple :

  • Nom du noeud : Send JSON Response

Champs définis par le message d'entrée (msg)

Le noeud http response utilise l'objet msg qui lui est transmis en entrée pour former la réponse HTTP. Voici les principaux paramètres :

  1. msg.payload
    Contenu de la réponse. Il est envoyé au client dans le corps de la réponse.

    Exemple :

    • Pour envoyer du texte :
      msg.payload = "Hello, World!";
    • Pour une réponse JSON :
      msg.payload = { status: "ok", value: 42 };

  1. msg.statusCode
    Code de statut HTTP de la réponse. Si ce champ n'est pas spécifié, 200 OK est utilisé par défaut.

    Exemples de codes de statut :

    • 200 — Succès.
    • 201 — Création de ressource réussie.
    • 400 — Erreur du client.
    • 404 — Ressource non trouvée.
    • 500 — Erreur interne du serveur.

    Exemple :

    msg.statusCode = 404; // Ressource non trouvée

  1. msg.headers
    Objet définissant les en-têtes de la réponse HTTP. Permet de spécifier, par exemple, le type de contenu, le cache ou des en-têtes personnalisés.

    Exemple :

    msg.headers = {
    "Content-Type": "application/json",
    "Cache-Control": "no-cache"
    };

Exemples d'utilisation

Exemple 1 : Envoi d'une réponse JSON réussie

Flux :

[http in] ---> [function] ---> [http response]

Code du noeud function :

msg.payload = { success: true, message: "Request processed successfully" };
msg.statusCode = 200;
msg.headers = { "Content-Type": "application/json" };
return msg;

Résultat :
Le client recevra la réponse :

HTTP/1.1 200 OK
Content-Type: application/json

{
"success": true,
"message": "Request processed successfully"
}

Exemple 2 : Traitement d'une erreur

Flux :

[http in] ---> [function] ---> [http response]

Code du noeud function :

msg.payload = { error: "Invalid request parameters" };
msg.statusCode = 400;
msg.headers = { "Content-Type": "application/json" };
return msg;

Résultat :
Le client recevra la réponse :

HTTP/1.1 400 Bad Request
Content-Type: application/json

{
"error": "Invalid request parameters"
}

Exemple 3 : Réponse vide avec un statut personnalisé

Flux :

[http in] ---> [http response]

Code dans le noeud function avant le noeud http response :

msg.payload = null; // Corps de réponse vide
msg.statusCode = 204; // Pas de contenu
return msg;

Résultat :
Le client recevra la réponse :

HTTP/1.1 204 No Content