Topik ini menjelaskan fungsi umum yang didukung oleh Edge Function dari Edge Security Acceleration (ESA).
Web API
Streams
Operasi API | Deskripsi | Referensi |
ByteLengthQueuingStrategy | Menyediakan strategi antrian panjang byte bawaan yang dapat digunakan saat membangun aliran. | |
CountQueuingStrategy | Menyediakan strategi antrian penghitungan chunk bawaan yang dapat digunakan saat membangun aliran. | |
ReadableStream | Mewakili aliran baca data byte. Fetch API menawarkan instance konkret dari ReadableStream melalui properti body dari objek Response. | |
ReadableStreamDefaultReader | Mewakili pembaca default yang dapat digunakan untuk membaca data aliran yang disediakan dari jaringan, seperti permintaan fetch. | |
ReadableByteStreamController | Mewakili pengontrol untuk aliran baca byte. Ini memungkinkan kontrol atas status dan antrian internal dari ReadableStream. | |
ReadableStreamBYOBReader | Mendefinisikan pembaca untuk ReadableStream yang mendukung pembacaan nol-salinan dari sumber byte dasar. Digunakan untuk penyalinan data yang efisien. | |
ReadableStreamBYOBRequest | ||
ReadableStreamDefaultController | Mewakili pengontrol yang memungkinkan kontrol atas status dan antrian internal dari ReadableStream. Pengontrol default adalah untuk aliran yang bukan aliran byte. | |
WritableStream | Menyediakan abstraksi standar untuk menulis data streaming ke tujuan, dikenal sebagai sink. Objek ini dilengkapi dengan tekanan balik dan antrian bawaan. | |
WritableStreamDefaultWriter | Operasi WritableStreamDefaultWriter dari Streams API adalah objek yang dikembalikan oleh WritableStream.getWriter() dan setelah dibuat, mengunci penulis ke WritableStream, memastikan bahwa tidak ada aliran lain yang dapat menulis ke sink yang mendasarinya. | |
WritableStreamDefaultController | Mewakili pengontrol yang memungkinkan kontrol atas status WritableStream. Saat membangun WritableStream, sink dasar diberi instance WritableStreamDefaultController terkait untuk dimanipulasi. | |
TransformStream | Mewakili implementasi konkret dari konsep aliran transformasi rantai pipa. Ini dapat diteruskan ke metode ReadableStream.pipeThrough() untuk mentransformasikan aliran data dari satu format ke format lain. Sebagai contoh, mungkin digunakan untuk mendekode (atau mengkode) frame video, mendekompresi data, atau mengonversi aliran dari XML ke JSON. | |
TransformStreamDefaultController | Menyediakan metode untuk memanipulasi ReadableStream dan WritableStream terkait. Saat membangun TransformStream, TransformStreamDefaultController dibuat. Oleh karena itu, ia tidak memiliki konstruktor. Cara untuk mendapatkan instance TransformStreamDefaultController adalah melalui metode panggilan balik dari TransformStream(). | |
CompressionStream | Sebuah operasi untuk mengompresi aliran data. | |
DecompressionStream | Sebuah operasi untuk mendekompresi aliran data. |
Encoding/Decoding
Operasi API | Deskripsi | Referensi |
TextEncoder | Mengambil aliran titik kode sebagai input dan mengeluarkan aliran byte UTF-8. | |
TextDecoder | Mewakili decoder untuk pengkodean teks tertentu, seperti UTF-8, ISO-8859-2, KOI8-R, dan GBK. Decoder mengambil aliran byte sebagai input dan mengeluarkan aliran titik kode. | |
TextEncoderStream | Mengonversi aliran string menjadi byte dalam pengkodean UTF-8. Ini adalah setara streaming dari TextEncoder. | |
TestDecoderStream | Mengonversi aliran teks dalam pengkodean biner, seperti UTF-8, menjadi aliran string. Ini adalah setara streaming dari TextDecoder. | |
atob | Mendekode string data yang telah dikodekan menggunakan pengkodean base-64. | |
btoa | Membuat string ASCII yang dikodekan base-64 dari string input. |
Web Crypto
Operasi API | Deskripsi | Referensi |
Crypto | Mewakili fitur kriptografi dasar yang tersedia dalam konteks saat ini. Ini memungkinkan akses ke generator nomor acak yang kuat secara kriptografis dan ke primitif kriptografi. | |
SubtleCrypto | Menyediakan sejumlah fungsi kriptografi tingkat rendah. Anda dapat mengakses properti terkait SubtleCrypto dengan menggunakan properti subtle di objek Crypto yang disediakan oleh properti crypto. | |
CryptoKey | Mewakili kunci kriptografi yang diperoleh dari salah satu metode SubtleCrypto generateKey(), deriveKey(), importKey(), atau unwrapKey(). | |
CryptoKeyPair | Mewakili pasangan kunci untuk algoritma kriptografi asimetris. |
Timers
Operasi API | Deskripsi | Referensi |
setInterval | Memanggil fungsi berulang kali, dengan jeda waktu tetap antara setiap panggilan. | |
clearInterval | Membatalkan tindakan berulang yang dijadwalkan sebelumnya oleh pemanggilan setInterval(). | |
setTimeout | Menetapkan timer yang mengeksekusi fungsi sekali setelah penundaan berakhir. | |
clearTimeout | Membatalkan tindakan yang dijadwalkan oleh setTimeout(). |
Console
Operasi API | Deskripsi | Referensi |
Console | Menyediakan antarmuka debugging untuk fungsi. ESA hanya mendukung metode console.log() dan console.alert(). Metode console.log() digunakan untuk mencetak informasi debugging di konsol. Metode console.alert() digunakan untuk menulis informasi kunci ke log. |
URL
Operasi API | Deskripsi | Referensi |
URL | Mewakili objek dan menyediakan metode statis untuk membuat URL objek. | |
URLPattern | Memadankan URL atau bagian dari URL terhadap pola. Digunakan untuk mengekstrak dan memadankan bagian dari URL. |
Fetch
Operasi API | Deskripsi | Referensi |
Fetch | Memulai permintaan untuk suatu sumber daya. Mengembalikan janji yang dipenuhi setelah permintaan direspons. | |
Headers | Memungkinkan Anda melakukan berbagai tindakan pada header permintaan dan respons HTTP. Tindakan ini mencakup pengambilan, pengaturan, penambahan ke, dan penghapusan header dari daftar header permintaan. | |
Request | Membuat objek Request baru, yang mewakili permintaan sumber daya. | |
RequestInit | Mewakili serangkaian opsi yang dapat digunakan untuk mengonfigurasi permintaan Fetch. Anda dapat melewatkan objek RequestInit ke konstruktor Request(), atau langsung ke pemanggilan fungsi fetch(). | |
Response | Mewakili respons terhadap permintaan. Anda dapat membuat objek Response baru dengan menggunakan konstruktor Response(), tetapi lebih mungkin Anda akan menemui objek Response yang dikembalikan sebagai hasil dari operasi API lainnya, seperti fetch(). |
WebAssembly
Operasi API | Deskripsi | Referensi |
Module | Membuat objek Module baru. Objek WebAssembly.Module berisi kode WebAssembly tanpa status yang telah dikompilasi. | |
Instance | Objek WebAssembly.Instance adalah instance WebAssembly.Module yang bersifat stateful dan dapat dieksekusi. Objek Instance berisi semua fungsi WebAssembly yang diekspor yang memungkinkan pemanggilan kode WebAssembly dari JavaScript. |
Node APIs
Operasi API | Deskripsi | Referensi |
assert | Menyediakan serangkaian fungsi asertasi untuk memverifikasi invarian. | |
AsyncLocalStorage | Menyimpan dan meneruskan konteks melalui operasi asinkron. | |
Buffer | Objek Buffer digunakan untuk merepresentasikan urutan byte dengan panjang tetap. API Buffer adalah salah satu antarmuka pemrosesan data biner yang paling umum digunakan dalam Node.js. | |
Crypto | Modul crypto menyediakan fungsi kriptografi, seperti hash, HMAC, sign, verify, cipher, dan decipher. | |
Diagnostics Channel | Membuat saluran bernama untuk melaporkan data pesan arbitrer untuk tujuan diagnostik. | |
path | Menyediakan utilitas untuk bekerja dengan jalur file dan direktori. | |
process | Menyediakan berbagai data terkait status proses saat ini. ESA hanya mendukung panggilan ke subantarmuka env dan nextTick. | |
Streams | API Streams adalah antarmuka abstrak untuk memproses data streaming di Node.js. Modul node:stream menyediakan API untuk memproses data streaming. | |
StringDecoder | Modul StringDecoder mendekode objek Buffer menjadi string. | |
util | Modul node:util mendukung kebutuhan API internal Node.js. Banyak utilitas tersebut juga berguna bagi pengembang aplikasi dan modul. |
ESA APIs
Operasi API | Deskripsi | Referensi |
Cache API | API Cache adalah metode yang digunakan untuk menyimpan data dalam cache. Anda dapat memanggil API Cache untuk menyimpan data di titik kehadiran (POPs) sehingga data dapat disajikan dengan cepat untuk permintaan berikutnya. Dalam operasi API Cache, Anda dapat mengonfigurasi waktu hidup (TTL) dan ukuran cache berdasarkan kebutuhan bisnis Anda. | |
KV API | POPs menyediakan layanan penyimpanan tepi berbasis pasangan kunci-nilai. Setelah Anda menulis data ke Edge KV, data tersebut secara otomatis disinkronkan ke POPs di seluruh dunia. Edge Function dapat membaca dan menggunakan pasangan kunci-nilai tersebut di POP yang sama. | |
HtmlStreaming | Anda dapat menggunakan API HTMLStream untuk memproses data streaming HTML pada POP, seperti data saham real-time atau catatan obrolan. Selain itu, dengan API HTMLStream, Anda dapat mentransmisikan data streaming HTML dalam chunk untuk mempercepat transmisi data. |