Saltar al contenido principal

Nodo http response

El nodo http response se utiliza para enviar respuestas HTTP a las solicitudes procesadas por el nodo http in. Completa el ciclo de procesamiento de la solicitud y devuelve datos al cliente.


Configuraciones para el nodo http response

IMG2

1. Nombre

Un campo para especificar el nombre del nodo.
El nombre se muestra en el espacio de trabajo y ayuda a identificar fácilmente el nodo.
Si se deja vacío, el nodo se llamará http response.

Ejemplo:

  • Nombre del nodo: Enviar Respuesta JSON

Campos definidos por el mensaje entrante (msg)

El nodo http response utiliza el objeto msg que se le pasa como entrada para formar la respuesta HTTP. Aquí están los principales parámetros:

  1. msg.payload
    El contenido de la respuesta. Se envía al cliente en el cuerpo de la respuesta.

    Ejemplo:

    • Para enviar texto:
      msg.payload = "¡Hola, Mundo!";
    • Para una respuesta JSON:
      msg.payload = { status: "ok", value: 42 };

  1. msg.statusCode
    El código de estado HTTP de la respuesta. Si este campo no se especifica, se utiliza 200 OK por defecto.

    Ejemplos de códigos de estado:

    • 200 — Éxito.
    • 201 — Recurso creado con éxito.
    • 400 — Error del cliente.
    • 404 — Recurso no encontrado.
    • 500 — Error interno del servidor.

    Ejemplo:

    msg.statusCode = 404; // Recurso no encontrado

  1. msg.headers
    Un objeto que define los encabezados de la respuesta HTTP. Permite especificar, por ejemplo, el tipo de contenido, la caché o encabezados personalizados.

    Ejemplo:

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

Ejemplos de Uso

Ejemplo 1: Enviando una respuesta JSON exitosa

Flujo:

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

Código para el nodo function:

msg.payload = { success: true, message: "Solicitud procesada con éxito" };
msg.statusCode = 200;
msg.headers = { "Content-Type": "application/json" };
return msg;

Resultado:
El cliente recibirá la respuesta:

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

{
"success": true,
"message": "Solicitud procesada con éxito"
}

Ejemplo 2: Manejo de un error

Flujo:

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

Código para el nodo function:

msg.payload = { error: "Parámetros de solicitud inválidos" };
msg.statusCode = 400;
msg.headers = { "Content-Type": "application/json" };
return msg;

Resultado:
El cliente recibirá la respuesta:

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

{
"error": "Parámetros de solicitud inválidos"
}

Ejemplo 3: Respuesta vacía con un estado personalizado

Flujo:

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

Código en el nodo function antes del nodo http response:

msg.payload = null; // Cuerpo de respuesta vacío
msg.statusCode = 204; // Sin contenido
return msg;

Resultado:
El cliente recibirá la respuesta:

HTTP/1.1 204 No Content