Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan header jejak HTTP opsional untuk mengaktifkan respons multi-bagian Gremlin
Secara default, respons HTTP untuk kueri Gremlin dikembalikan dalam satu set hasil JSON. Dalam kasus set hasil yang sangat besar, ini dapat menyebabkan pengecualian OutOfMemoryError
pada instans DB.
Namun, Anda dapat mengaktifkan respons bongkahan (respons yang dikembalikan dalam beberapa bagian yang terpisah). Anda melakukan ini dengan menyertakan header jejak transfer-encoding (TE) (te: trailers
) dalam permintaan Anda. Lihat halaman MDN tentang header permintaan TE
Ketika respons dikembalikan dalam beberapa bagian, akan sulit untuk mendiagnosis masalah yang terjadi setelah bagian pertama diterima, karena bagian pertama tiba dengan kode status HTTP 200
(OK). Kegagalan berikutnya biasanya menghasilkan badan pesan yang berisi respons yang rusak, pada akhirnya Neptune menambahkan pesan kesalahan.
Agar deteksi dan diagnosis kegagalan semacam ini jadi lebih mudah, Neptune juga mencakup dua bidang header baru dalam trailing header dari setiap bongkahan respons:
X-Neptune-Status
– berisi kode respons diikuti dengan nama pendek. Misalnya, dalam kasus keberhasilan, trailing header akan berupa:X-Neptune-Status: 200 OK
. Dalam kasus kegagalan, kode respon akan menjadi salah satu kode kesalahan mesin Neptune, sepertiX-Neptune-Status: 500 TimeLimitExceededException
.X-Neptune-Detail
– kosong untuk permintaan yang berhasil. Dalam kasus kesalahan, ia berisi pesan kesalahan JSON. Karena hanya karakter ASCII yang diperbolehkan dalam nilai header HTTP, string JSON di-enkode dengan URL.
catatan
Neptune saat ini tidak mendukung kompresi gzip
respons bongkahan. Jika klien meminta kedua encoding bongkahan dan kompresi pada saat yang sama, Neptune melewatkan kompresi.