Materi
Middleware pencatat menulis satu catatan untuk setiap permintaan. OWASP Logging Cheat Sheet meminta setiap catatan menjawab kapan, di mana, siapa, dan apa; untuk aplikasi web itu mencakup metode dan URL, kode status, serta pengenal interaksi yang mengikat semua catatan dari satu permintaan. Lama proses diukur dengan membaca jam sebelum dan sesudah next. Di Node.js jam itu Date.now() atau performance.now(); di latihan, jam adalah fungsi tiruan yang mengembalikan angka milidetik yang sudah ditetapkan, sehingga hasilnya sama setiap kali dijalankan.
Middleware penangkap galat membungkus next dengan try dan catch. Dokumentasi Express menjelaskan perilaku penangan galat bawaannya: status respons diambil dari err.status, dan bila nilainya di luar 4xx atau 5xx dipakai 500; jejak tumpukan tidak dikirim di lingkungan produksi. OWASP Error Handling Cheat Sheet meminta galat tak terduga dijawab dengan respons umum, sedangkan rinciannya dicatat di server untuk diselidiki. Galat yang disengaja, seperti produk yang tidak ada, dibawa kelas turunan Error yang menyimpan status (MDN, Custom error types).
class GalatHttp extends Error {
constructor(status, title, detail) {
super(detail);
this.status = status;
this.title = title;
this.detail = detail;
}
}
// di repositori resep:
throw new GalatHttp(404, "Not Found", "Resep 31 tidak ada");