Перейти к основному содержимому

Узел http response

Узел http response используется для отправки HTTP-ответов на запросы, обработанные узлом http in. Он завершает цикл обработки запроса и передает данные обратно клиенту.


Настройки узла http response

IMG2

1. Name

Поле для указания имени узла.
Имя отображается в рабочей области и помогает легко идентифицировать узел.
Если оставить пустым, узел будет называться http response.

Пример:

  • Имя узла: Send JSON Response

Поля, определяемые входным сообщением (msg)

Узел http response использует объект msg, переданный ему на вход, чтобы формировать HTTP-ответ. Вот основные параметры:

  1. msg.payload
    Содержимое ответа. Оно отправляется клиенту в теле ответа.

    Пример:

    • Для отправки текста:
      msg.payload = "Hello, World!";
    • Для JSON-ответа:
      msg.payload = { status: "ok", value: 42 };

  1. msg.statusCode
    HTTP-статус код ответа. Если это поле не задано, по умолчанию используется 200 OK.

    Примеры статус кодов:

    • 200 — Успех.
    • 201 — Успешное создание ресурса.
    • 400 — Ошибка клиента.
    • 404 — Ресурс не найден.
    • 500 — Внутренняя ошибка сервера.

    Пример:

    msg.statusCode = 404; // Ресурс не найден

  1. msg.headers
    Объект, определяющий заголовки HTTP-ответа. Позволяет указать, например, тип контента, кэширование или пользовательские заголовки.

    Пример:

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

Примеры использования

Пример 1: Отправка успешного JSON-ответа

Поток:

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

Код узла function:

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

Результат:
Клиент получит ответ:

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

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

Пример 2: Обработка ошибки

Поток:

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

Код узла function:

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

Результат:
Клиент получит ответ:

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

{
"error": "Invalid request parameters"
}

Пример 3: Пустой ответ с кастомным статусом

Поток:

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

Код в узле function перед узлом http response:

msg.payload = null; // Пустое тело ответа
msg.statusCode = 204; // Нет содержимого
return msg;

Результат:
Клиент получит ответ:

HTTP/1.1 204 No Content