Aller au contenu principal

Node http response

Le nœud http response est utilisé pour envoyer des réponses HTTP aux requêtes traitées par le nœud http in. Il complète le cycle de traitement des requêtes et renvoie des données au client.


Paramètres pour le nœud http response

IMG2

1. Nom

Un champ pour spécifier le nom du nœud.
Le nom est affiché dans l'espace de travail et aide à identifier facilement le nœud.
S'il est laissé vide, le nœud sera appelé http response.

Exemple :

  • Nom du nœud : Envoyer une réponse JSON

Champs définis par le message entrant (msg)

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

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

    Exemple :

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

  1. msg.statusCode
    Le 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 — Ressource créée avec succès.
    • 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
    Un objet définissant les en-têtes de la réponse HTTP. Il permet de spécifier, par exemple, le type de contenu, la mise en 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 pour le nœud function :

msg.payload = { success: true, message: "Requête traitée avec succès" };
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": "Requête traitée avec succès"
}

Exemple 2 : Gestion d'une erreur

Flux :

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

Code pour le nœud function :

msg.payload = { error: "Paramètres de requête invalides" };
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": "Paramètres de requête invalides"
}

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

Flux :

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

Code dans le nœud function avant le nœud 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