रिटर्न टेक्स्ट, बाइनरी और HTML
किसी फ़ंक्शन से टेक्स्ट, चित्र, फ़ाइलें या HTML कैसे भेजें और उन्हें SDK या सादे HTTP के साथ वापस कैसे पढ़ें।
1. एक प्रतिक्रिया प्रकार चुनें
| आपका फ़ंक्शन वापस आ जाता है | responseType का प्रयोग करें | data है |
|---|---|---|
| JSON | 'json' (डिफ़ॉल्ट) | पार्स किया गया मान |
| सादा पाठ, सीएसवी, एचटीएमएल | 'text' (या 'json', जो स्ट्रिंग भी लौटाता है) | एक string |
| एक छवि, एक पीडीएफ, कोई बाइट्स | 'blob' या 'arrayBuffer' | एक Blob या एक ArrayBuffer |
डिफ़ॉल्ट 'json' मोड JSON और टेक्स्ट ले जा सकता है। यह बाइट्स नहीं ले जा सकता: यदि कोई फ़ंक्शन बाइनरी सामग्री प्रकार के साथ उत्तर देता है, तो SDK त्रुटि invalid_response लौटाता है और आपको 'blob' या 'arrayBuffer' चुनने के लिए कहता है, इसलिए कुछ भी चुपचाप खो नहीं जाता है।
2. इसे एसडीके के साथ पढ़ें
बाइट्स 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 प्रस्तुत किया गया है, लेकिन आपके प्रोजेक्ट के मूल तक कुकी, भंडारण या स्क्रिप्ट पहुंच के बिना। वास्तविक वेब पेज होस्ट करने के लिए स्टोरेज या अपने स्वयं के डोमेन का उपयोग करें।