انتقل إلى المحتوى الرئيسي

استجابة http

تُستخدم عقدة استجابة http لإرسال استجابات HTTP إلى الطلبات التي تتم معالجتها بواسطة عقدة http in. تكمل دورة معالجة الطلبات وتعيد البيانات إلى العميل.


إعدادات عقدة استجابة http

IMG2

1. الاسم

حقل لتحديد اسم العقدة.
يتم عرض الاسم في مساحة العمل ويساعد في التعرف بسهولة على العقدة.
إذا تُرك فارغًا، سيتم تسمية العقدة بـ استجابة http.

مثال:

  • اسم العقدة: إرسال استجابة JSON

الحقول المحددة بواسطة الرسالة الواردة (msg)

تستخدم عقدة استجابة http كائن msg المرسل إليها كمدخل لتشكيل استجابة HTTP. إليك المعلمات الرئيسية:

  1. msg.payload
    محتوى الاستجابة. يتم إرساله إلى العميل في جسم الاستجابة.

    مثال:

    • لإرسال نص:
      msg.payload = "مرحبًا، العالم!";
    • لاستجابة 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: "تمت معالجة الطلب بنجاح" };
msg.statusCode = 200;
msg.headers = { "Content-Type": "application/json" };
return msg;

النتيجة:
سيتلقى العميل الاستجابة:

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

{
"success": true,
"message": "تمت معالجة الطلب بنجاح"
}

المثال 2: التعامل مع خطأ

التدفق:

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

الكود لعقدة function:

msg.payload = { error: "معلمات الطلب غير صالحة" };
msg.statusCode = 400;
msg.headers = { "Content-Type": "application/json" };
return msg;

النتيجة:
سيتلقى العميل الاستجابة:

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

{
"error": "معلمات الطلب غير صالحة"
}

المثال 3: استجابة فارغة مع حالة مخصصة

التدفق:

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

الكود في عقدة function قبل عقدة http response:

msg.payload = null; // جسم الاستجابة فارغ
msg.statusCode = 204; // لا محتوى
return msg;

النتيجة:
سيتلقى العميل الاستجابة:

HTTP/1.1 204 No Content