send_http_request
std::send_http_request يُرسل طلب HTTP إلى عنوان URL المحدد ويُصدِّر الاستجابة.
المدخلات
| الاسم | مطلوب | النوع | الوصف |
|---|---|---|---|
url | مطلوب | string | عنوان URL للطلب. المخططات المدعومة هي http و https |
body | اختياري | string | نص الطلب كسلسلة نصية أو كائن JSON |
method | اختياري | string | طريقة HTTP للطلب. الطرق المسموح بها: GET، HEAD، POST |
timeout_ms | اختياري | integer | مهلة الطلب بالميلي ثانية |
headers | اختياري | object | خريطة لأسماء حقول رأس الطلب وقيمها |
pre_condition | اختياري | map | الشروط المسبقة التي يتم تقييمها قبل تنفيذ الأمر |
post_condition | اختياري | map | الشروط اللاحقة التي يتم تقييمها بعد تنفيذ الأمر |
الشروط المسبقة
الشروط المسبقة هي تأكيدات يتم تقييمها قبل تنفيذ الأمر. يمكن استخدامها لتحديد ما إذا كان ينبغي تنفيذ الأمر أو ما إذا كان ينبغي تنفيذ سلوك معين بناءً على نتيجة التأكيد.
| الخاصية | الوصف |
|---|---|
behavior | السلوك في حال عدم اجتياز تأكيد الشرط المسبق. الخيارات: halt (الافتراضي)، log، skip |
assertion | التأكيد المراد التحقق منه. يجب أن يُقيَّم إلى قيمة منطقية أو باستخدام std::assert_eq والدوال المشابهة |
الشروط اللاحقة
الشروط اللاحقة هي تأكيدات يتم تقييمها بعد تنفيذ أمر ما. يمكن استخدامها لتحديد ما إذا كان ينبغي إعادة تنفيذ الأمر.
| الخاصية | الوصف |
|---|---|
retries | عدد مرات إعادة تنفيذ الأمر في حال فشل التأكيد. القيمة الافتراضية: 0 |
backoff_ms | المدة بالميلي ثانية للانتظار قبل إعادة التنفيذ. القيمة الافتراضية: 1000 |
behavior | السلوك المتبع إذا لم يجتاز تأكيد الشرط اللاحق. الخيارات: halt (افتراضي)، log، skip، continue |
assertion | التأكيد المراد التحقق منه |
المخرجات
عند تنفيذ إجراء send_http_request بنجاح، يتم إرفاق المخرجات التالية بالإجراء:
| الاسم | النوع | الوصف |
|---|---|---|
response_body | string | نص الاستجابة المُعاد كسلسلة نصية |
status_code | integer | رمز حالة استجابة HTTP |
مثال
action "example" "std::send_http_request" {url = "https://example.com"}output "status" {value = action.example.status_code}// > status: 200
مثال على طلب POST
action "create_resource" "std::send_http_request" {description = "Create a new resource"url = "https://api.example.com/resources"method = "POST"headers = {"Content-Type" = "application/json"}body = {"name" = variable.name,"value" = variable.value}}
طلب مع المصادقة
action "api_call" "std::send_http_request" {description = "Fetch data from API"url = "https://api.example.com/data"method = "GET"headers = {"Authorization" = "Bearer ${variable.token}"}}output "response" {value = action.api_call.response_body}output "status" {value = action.api_call.status_code}
Is this page helpful?