Aurabase-logo
aurabasisdocumenten
documenten›Edge Functions›Text, binary and HTML responses

Retourneer tekst, binair en HTML

Hoe u tekst, afbeeldingen, bestanden of HTML vanuit een functie kunt verzenden en teruglezen met de SDK of gewone HTTP.

6 min lezen·Niveau tussenproduct·Herzien op 12 okt 2026
Deze Engelse tekst is automatisch gegenereerd op basis van het Franse origineel en is nog niet beoordeeld.
Deze pagina is automatisch vertaald. De Engelse versie is gezaghebbend.
#
Besluit

1. Kies een antwoordtype

Uw functie keert terugGebruik responseTypedata is
JSON'json' (standaard)de geparseerde waarde
Platte tekst, CSV, HTML'text' (of 'json', die ook de string retourneert)een string
Een afbeelding, een PDF, eventuele bytes'blob' of 'arrayBuffer'een Blob of een ArrayBuffer

De standaardmodus 'json' kan JSON en tekst bevatten. Het kan geen bytes overbrengen: als een functie antwoordt met een binair inhoudstype, retourneert de SDK de fout invalid_response en vertelt u dat u 'blob' of 'arrayBuffer' moet kiezen, zodat er niets stilletjes verloren gaat.

#
SDK

2. Lees het met de SDK

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' } })
  }
  // De PNG-handtekening van 8 bytes, genoeg om bytes round-trip weer te geven
  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) // "id,naam\n1,Ada\n"

const img = await aura.functions.invoke<Blob>('export', { responseType: 'blob' })
console.log(img.data?.type, img.data?.size) // "afbeelding/png" 8

In een echte run met een functie die de bytes 137,80,78,71,13,10,26,10,255,0,1 retourneert, retourneert arrayBuffer precies die 11 bytes en retourneert blob type=image/png size=11.

Met 'text', 'blob' of 'arrayBuffer' slaat de SDK de JSON-envelop over en retourneert de hoofdtekst van uw functie zoals deze is. Als uw functie antwoordt met een foutstatus, is error.status die status en is error.message de tekst die uw functie heeft geretourneerd.

#
HTTP

3. Raw-modus via HTTP

Voeg de header X-Aurabase-Invoke-Mode: raw toe en het platform retourneert het eigen antwoord van uw functie: de status, content-type en bytes.

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

Zonder die header is het antwoord altijd 200 met een envelop:

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

In de envelop is body de geparseerde JSON, de tekst van uw antwoord als het UTF-8 is en niet JSON, of null als de hoofdtekst leeg of binair is.

In de onbewerkte modus bevat elk antwoord van uw functie x-aurabase-invoke-origin: function. Een antwoord zonder dit komt van de gateway of de runtime. Dit is hoe de SDK een 503 vertelt die door uw code wordt geretourneerd na een platformstoring.

#
Kopteksten

4. Welke headers overleven

In de onbewerkte modus worden uw antwoordheaders gefilterd, omdat ze worden aangeboden vanuit de eigen oorsprong van het platform.

KoptekstResultaat
content-typeGehouden. Standaard ingesteld op application/octet-stream als u geen instelt.
Aangepaste kopteksten (x-custom-out, cache-control, …)Gehouden.
set-cookieVerwijderd. Een functie kan geen cookies instellen.
access-control-*Verwijderd. CORS wordt bepaald door de gateway.
x-aura-*, x-internal-tokenVerwijderd.
content-security-policy, strict-transport-security, x-content-type-optionsIngesteld door het platform, wat u ook verzendt.
content-length, transfer-encoding, connectionOpnieuw berekend.

Een antwoord dat scripts kan uitvoeren (text/html, application/xhtml+xml, image/svg+xml, application/xml, text/xml) wordt geleverd met een sandboxing-inhoudsbeveiligingsbeleid. Echt antwoord voor een functie die text/html retourneert:

antwoordkoppentext
content-type: text/html
content-security-policy: default-src 'none'; frame-ancestors 'none'; sandbox
x-content-type-options: nosniff

Uw HTML wordt aangeboden, maar zonder cookie-, opslag- of scripttoegang tot de oorsprong van uw project. Gebruik Storage of uw eigen domein om een ​​echte webpagina te hosten.

Laatst bijgewerkt · 12 okt 2026