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

عقدة http response

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


إعدادات عقدة http response​

نافذة "Node Information" لعقدة "http response": الحقل "statusCode" مضبوط على 200

1. Name​

اسم العقدة.
يظهر الاسم في مساحة العمل ويساعدك على تمييز العقدة.
إذا تركت الحقل فارغًا، فسيكون اسم العقدة http response.

مثال:

  • اسم العقدة: Send JSON Response

2. Status Code​

رمز حالة HTTP للاستجابة، ويُضبط في نموذج العقدة. القيمة الافتراضية 200.

مثال:

  • Status Code: 201

الحقول التي تحددها الرسالة الواردة (msg)​

تبني عقدة http response استجابة HTTP من كائن msg الذي يصل إلى مدخلها. المعاملات الأساسية هي:

  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