Zwróć tekst, plik binarny i HTML
Jak wysłać tekst, obrazy, pliki lub kod HTML z funkcji i odczytać je za pomocą zestawu SDK lub zwykłego protokołu HTTP.
1. Wybierz typ odpowiedzi
| Twoja funkcja powraca | Użyj responseType | data jest |
|---|---|---|
| JSON | 'json' (domyślnie) | analizowana wartość |
| Zwykły tekst, CSV, HTML | 'text' (lub 'json', który również zwraca ciąg znaków) | string |
| Obraz, plik PDF, dowolne bajty | 'blob' lub 'arrayBuffer' | Blob lub ArrayBuffer |
Domyślny tryb 'json' może przenosić JSON i tekst. To nie może przenosić bajtów: jeśli funkcja odpowie z binarnym typem zawartości, SDK zwróci błąd invalid_response i powie ci, abyś wybrał 'blob' lub 'arrayBuffer', więc nic nie zostanie utracone w trybie cichym.
2. Przeczytaj to za pomocą SDK
W prawdziwym działaniu z funkcją zwracającą bajty 137,80,78,71,13,10,26,10,255,0,1, arrayBuffer zwróciło dokładnie te 11 bajtów, a blob zwróciło type=image/png size=11.
W przypadku 'text', 'blob' lub 'arrayBuffer' zestaw SDK pomija kopertę JSON i zwraca treść funkcji w niezmienionej postaci. Jeśli funkcja odpowiada statusem błędu, error.status jest tym statusem, a error.message jest tekstem zwróconym przez funkcję.
3. Tryb surowy przez HTTP
Dodaj nagłówek X-Aurabase-Invoke-Mode: raw, a platforma zwróci własną odpowiedź Twojej funkcji: jej status, content-type i bajty.
Bez tego nagłówka odpowiedź to zawsze 200 z kopertą:
W kopercie body to przeanalizowany plik JSON, tekst odpowiedzi, jeśli jest to UTF-8, a nie JSON, lub null, jeśli treść jest pusta lub binarna.
W trybie surowym każda odpowiedź z Twojej funkcji zawiera x-aurabase-invoke-origin: function. Odpowiedź bez tej odpowiedzi pochodzi z bramy lub środowiska wykonawczego. W ten sposób SDK informuje 503 zwrócony przez Twój kod w przypadku awarii platformy.
4. Które nagłówki przetrwają
W trybie surowym nagłówki odpowiedzi są filtrowane, ponieważ są podawane z własnego źródła platformy.
| Chodnikowiec | Wynik |
|---|---|
content-type | Zachowane. Domyślnie jest to application/octet-stream, jeśli nie ustawisz żadnego. |
Niestandardowe nagłówki (x-custom-out, cache-control, …) | Zachowane. |
set-cookie | REMOVED. Funkcja nie może ustawić plików cookie. |
access-control-* | REMOVED. O CORS decyduje brama. |
x-aura-*, x-internal-token | REMOVED. |
content-security-policy, strict-transport-security, x-content-type-options | Ustawiane przez platformę, niezależnie od tego, co wysyłasz. |
content-length, transfer-encoding, connection | Przeliczono. |
Odpowiedź, która może uruchamiać skrypty (text/html, application/xhtml+xml, image/svg+xml, application/xml, text/xml) jest dostarczana z polityką bezpieczeństwa treści w trybie piaskownicy. Prawdziwa odpowiedź na funkcję zwracającą text/html:
Twój kod HTML jest udostępniany, ale bez dostępu do plików cookie, pamięci i skryptów do źródła Twojego projektu. Użyj Storage lub własnej domeny, aby hostować prawdziwą stronę internetową.