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.
1. Kies een antwoordtype
| Uw functie keert terug | Gebruik responseType | data 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.
2. Lees het met de SDK
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.
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.
Zonder die header is het antwoord altijd 200 met een envelop:
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.
4. Welke headers overleven
In de onbewerkte modus worden uw antwoordheaders gefilterd, omdat ze worden aangeboden vanuit de eigen oorsprong van het platform.
| Koptekst | Resultaat |
|---|---|
content-type | Gehouden. Standaard ingesteld op application/octet-stream als u geen instelt. |
Aangepaste kopteksten (x-custom-out, cache-control, …) | Gehouden. |
set-cookie | Verwijderd. Een functie kan geen cookies instellen. |
access-control-* | Verwijderd. CORS wordt bepaald door de gateway. |
x-aura-*, x-internal-token | Verwijderd. |
content-security-policy, strict-transport-security, x-content-type-options | Ingesteld door het platform, wat u ook verzendt. |
content-length, transfer-encoding, connection | Opnieuw 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:
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.