ऑराबेस लोगो
aurabaseडॉक्स
डॉक्स›Edge Functions›Text, binary and HTML responses

रिटर्न टेक्स्ट, बाइनरी और HTML

किसी फ़ंक्शन से टेक्स्ट, चित्र, फ़ाइलें या HTML कैसे भेजें और उन्हें SDK या सादे HTTP के साथ वापस कैसे पढ़ें।

6 मि॰ पढ़ें·स्तर मध्यवर्ती·12 अक्टू॰ 2026 पर संशोधित
यह अंग्रेजी पाठ फ़्रेंच मूल से स्वचालित रूप से उत्पन्न हुआ था और अभी तक इसकी समीक्षा नहीं की गई है।
यह पृष्ठ स्वचालित रूप से अनुवादित किया गया था. अंग्रेजी संस्करण प्रामाणिक है.
#
फ़ैसला

1. एक प्रतिक्रिया प्रकार चुनें

आपका फ़ंक्शन वापस आ जाता हैresponseType का प्रयोग करेंdata है
JSON'json' (डिफ़ॉल्ट)पार्स किया गया मान
सादा पाठ, सीएसवी, एचटीएमएल'text' (या 'json', जो स्ट्रिंग भी लौटाता है)एक string
एक छवि, एक पीडीएफ, कोई बाइट्स'blob' या 'arrayBuffer'एक Blob या एक ArrayBuffer

डिफ़ॉल्ट 'json' मोड JSON और टेक्स्ट ले जा सकता है। यह बाइट्स नहीं ले जा सकता: यदि कोई फ़ंक्शन बाइनरी सामग्री प्रकार के साथ उत्तर देता है, तो SDK त्रुटि invalid_response लौटाता है और आपको 'blob' या 'arrayBuffer' चुनने के लिए कहता है, इसलिए कुछ भी चुपचाप खो नहीं जाता है।

#
एसडीके

2. इसे एसडीके के साथ पढ़ें

aurabase/functions/export/index.tstypescript
Deno.serve((req) => {
  const { pathname } = new URL(req.url)
  if (pathname === '/csv') {
    return new Response('id,name\n1,Ada\n', { headers: { 'content-type': 'text/csv' } })
  }
  // 8-बाइट पीएनजी हस्ताक्षर, बाइट्स को राउंड-ट्रिप दिखाने के लिए पर्याप्त है
  const bytes = new Uint8Array([137, 80, 78, 71, 13, 10, 26, 10])
  return new Response(bytes, { headers: { 'content-type': 'image/png' } })
})
client.tstypescript
const csv = await aura.functions.invoke<string>('export', { path: '/csv', responseType: 'text' })
console.log(csv.data) // "आईडी,नाम\n1,एडीए\n"

const img = await aura.functions.invoke<Blob>('export', { responseType: 'blob' })
console.log(img.data?.type, img.data?.size) // "छवि/पीएनजी" 8

बाइट्स 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 वह टेक्स्ट है जो आपके फ़ंक्शन ने लौटाया है।

#
HTTP

3. HTTP पर रॉ मोड

हेडर X-Aurabase-Invoke-Mode: raw जोड़ें और प्लेटफ़ॉर्म आपके फ़ंक्शन की अपनी प्रतिक्रिया लौटाता है: इसकी स्थिति, content-type और बाइट्स।

terminalbash
curl -i -X POST "$AURA_URL/v1/functions/export/invoke" \
  -H "apikey: $AURA_ANON_KEY" \
  -H "Content-Type: application/json" \
  -H "X-Aurabase-Invoke-Mode: raw" \
  -d '{"path":"/csv"}' --output export.csv

उस हेडर के बिना, प्रतिक्रिया हमेशा एक लिफाफे के साथ 200 होती है:

envelope.jsonjson
{
  "data": {
    "status": 200,
    "headers": { "content-type": "application/json" },
    "body": { "greeting": "Hello, Ada!" },
    "logs": [],
    "duration_ms": 74
  },
  "meta": null
}

लिफाफे में, 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 लौटाने वाले फ़ंक्शन के लिए वास्तविक प्रतिक्रिया:

प्रतिक्रिया शीर्षलेखtext
content-type: text/html
content-security-policy: default-src 'none'; frame-ancestors 'none'; sandbox
x-content-type-options: nosniff

आपका HTML प्रस्तुत किया गया है, लेकिन आपके प्रोजेक्ट के मूल तक कुकी, भंडारण या स्क्रिप्ट पहुंच के बिना। वास्तविक वेब पेज होस्ट करने के लिए स्टोरेज या अपने स्वयं के डोमेन का उपयोग करें।