إرجاع النص والثنائي وHTML
كيفية إرسال نص أو صور أو ملفات أو HTML من إحدى الوظائف وقراءتها مرة أخرى باستخدام SDK أو HTTP العادي.
1. اختر نوع الاستجابة
| تعود وظيفتك | استخدم responseType | data هو |
|---|---|---|
| JSON | 'json' (افتراضي) | القيمة التي تم تحليلها |
| نص عادي، CSV، HTML | 'text' (أو 'json'، والذي يُرجع السلسلة أيضًا) | string |
| صورة، PDF، أي بايت | 'blob' أو 'arrayBuffer' | Blob أو ArrayBuffer |
يمكن للوضع الافتراضي 'json' أن يحمل JSON والنص. لا يمكن لـ أن يحمل بايتات: إذا أجابت دالة بنوع محتوى ثنائي، فإن SDK ترجع الخطأ invalid_response وتخبرك باختيار 'blob' أو 'arrayBuffer'، لذلك لا يتم فقدان أي شيء بصمت.
2. اقرأها باستخدام SDK
في التشغيل الحقيقي مع دالة تقوم بإرجاع البايتات 137,80,78,71,13,10,26,10,255,0,1، قامت arrayBuffer بإرجاع تلك البايتات الـ 11 بالضبط وإرجاع blob type=image/png size=11.
باستخدام 'text' أو 'blob' أو 'arrayBuffer'، يتخطى SDK مظروف JSON ويعيد نص وظيفتك كما هي. إذا أجابت وظيفتك بحالة خطأ، فإن error.status هي تلك الحالة وerror.message هو النص الذي أرجعته وظيفتك.
3. الوضع الخام عبر HTTP
أضف الرأس X-Aurabase-Invoke-Mode: raw وسيقوم النظام الأساسي بإرجاع الاستجابة الخاصة بوظيفتك: حالتها، content-type والبايتات.
بدون هذا الرأس، تكون الاستجابة دائمًا 200 مع مظروف:
في المظروف، body هو JSON الذي تم تحليله، وهو نص إجابتك عندما يكون UTF-8 وليس JSON، أو null عندما يكون النص فارغًا أو ثنائيًا.
في الوضع الأولي، تحمل كل استجابة من وظيفتك x-aurabase-invoke-origin: function. الاستجابة بدونها تأتي من البوابة أو وقت التشغيل. هذه هي الطريقة التي يخبر بها SDK 503 الذي تم إرجاعه بواسطة التعليمات البرمجية الخاصة بك من انقطاع النظام الأساسي.
4. ما هي الرؤوس التي تبقى على قيد الحياة؟
في الوضع الأولي، تتم تصفية رؤوس الاستجابة الخاصة بك، لأنه يتم تقديمها من مصدر النظام الأساسي.
| رأس | النتيجة |
|---|---|
content-type | أبقى. الافتراضي هو application/octet-stream إذا لم تقم بتعيين أي شيء. |
الرؤوس المخصصة (x-custom-out, cache-control, ...) | أبقى. |
set-cookie | تمت الإزالة. لا يمكن للوظيفة تعيين ملفات تعريف الارتباط. |
access-control-* | تمت الإزالة. يتم تحديد CORS بواسطة البوابة. |
x-aura-*, x-internal-token | تمت الإزالة. |
content-security-policy, strict-transport-security, x-content-type-options | تحددها المنصة، كل ما ترسله. |
content-length, transfer-encoding, connection | إعادة حسابها. |
يتم تقديم الاستجابة التي يمكنها تشغيل البرامج النصية (text/html, application/xhtml+xml, image/svg+xml, application/xml, text/xml) مع سياسة أمان محتوى وضع الحماية. استجابة حقيقية لوظيفة ترجع text/html:
يتم تقديم HTML الخاص بك، ولكن بدون الوصول إلى ملفات تعريف الارتباط أو التخزين أو البرنامج النصي إلى أصل مشروعك. استخدم التخزين أو المجال الخاص بك لاستضافة صفحة ويب حقيقية.