Metin, ikili ve HTML döndür
Bir işlevden metin, resim, dosya veya HTML nasıl gönderilir ve bunlar SDK veya düz HTTP ile nasıl okunur?
1. Bir yanıt türü seçin
| İşleviniz geri dönüyor | responseType kullanın | data: |
|---|---|---|
| JSON | 'json' (varsayılan) | ayrıştırılmış değer |
| Düz metin, CSV, HTML | 'text' (veya aynı zamanda dizeyi döndüren 'json') | bir string |
| Bir resim, bir PDF, herhangi bir bayt | 'blob' veya 'arrayBuffer' | bir Blob veya bir ArrayBuffer |
Varsayılan 'json' modu JSON ve metni taşıyabilir. bayt taşıyamaz: Bir işlev ikili içerik türüyle yanıt verirse, SDK invalid_response hatasını döndürür ve size 'blob' veya 'arrayBuffer' seçmenizi söyler, böylece hiçbir şey sessizce kaybolmaz.
2. SDK ile okuyun
137,80,78,71,13,10,26,10,255,0,1 baytlarını döndüren bir işlevle gerçek bir çalıştırmada, arrayBuffer tam olarak bu 11 baytı döndürdü ve blob, type=image/png size=11 değerini döndürdü.
'text', 'blob' veya 'arrayBuffer' ile SDK, JSON zarfını atlar ve işlevinizin gövdesini olduğu gibi döndürür. İşleviniz bir hata durumuyla yanıt veriyorsa, error.status bu durumdur ve error.message işlevinizin döndürdüğü metindir.
3. HTTP üzerinden ham mod
X-Aurabase-Invoke-Mode: raw başlığını eklediğinizde platform, işlevinizin kendi yanıtını döndürür: durumu, content-type ve baytlar.
Bu başlık olmadan yanıt her zaman bir zarfla birlikte 200 olur:
Zarftaki body ayrıştırılmış JSON'dur, JSON değil UTF-8 olduğunda yanıtınızın metnidir veya gövde boş veya ikili olduğunda null.
Ham modda, işlevinizden gelen her yanıt x-aurabase-invoke-origin: function taşır. Bu olmadan bir yanıt ağ geçidinden veya çalışma zamanından gelir. SDK, kodunuz tarafından platform kesintisinden döndürülen bir 503'e bu şekilde bilgi verir.
4. Hangi başlıklar hayatta kalır
Ham modda yanıt başlıklarınız filtrelenir çünkü bunlar platformun kendi kaynağından sunulur.
| Başlık | Sonuç |
|---|---|
content-type | Tutuldu. Hiçbirini ayarlamazsanız varsayılan olarak application/octet-stream olur. |
Özel başlıklar (x-custom-out, cache-control, …) | Tutuldu. |
set-cookie | Kaldırıldı. Bir işlev çerezleri ayarlayamaz. |
access-control-* | Kaldırıldı. CORS'a ağ geçidi tarafından karar verilir. |
x-aura-*, x-internal-token | Kaldırıldı. |
content-security-policy, strict-transport-security, x-content-type-options | Ne gönderirseniz gönderin, platform tarafından belirlenir. |
content-length, transfer-encoding, connection | Yeniden hesaplandı. |
Komut dosyalarını (text/html, application/xhtml+xml, image/svg+xml, application/xml, text/xml) çalıştırabilen bir yanıt, korumalı alan oluşturma içerik güvenliği ilkesiyle sunulur. text/html değerini döndüren bir işlev için gerçek yanıt:
HTML'niz sunulur ancak projenizin kaynağına çerez, depolama veya komut dosyası erişimi olmadan sunulur. Gerçek bir web sayfasını barındırmak için Depolamayı veya kendi alanınızı kullanın.