Menggunakan Fungsi Middleware Dalam Express.js

Fungsi Middleware adalah sebuah fungsi yang memiliki akses ke request object, response objet, dan fungsi next pada siklus request-response dalam aplikasi. Jika fungsi next tidak dipanggil, maka request akan berhenti pada fungsi middleware tersebut dan fungsi .get tidak dapat berjalan.

Berikut adalah contoh penggunaan fungsi middleware dalam aplikasi express.js. Pada contoh ini penulis akan membuat sebuah kalimat yang ditulis dalam middleware, kalimat tersebut akan muncul dalam server terminal ketika request dijalankan. Dalam contoh ini penulis juga akan menjelaskan konsep dasar pada middleware.

Pertama, Install express.js pada folder dimana kita akan membuat aplikasi dengan cara: dalam command prompt masuk ke direktori file lalu ketik npm install express. Lalu buat file dengan nama latihan.js. Dalam file tersebut panggil modul express.js dengan menggunakan syntax:

var express = require('express');  
var app = express();  

Selanjutnya buat fungsi get response:

app.get('/', function(req,res) {  
    res.send('Ini adalah response dari server');
});

Lalu bind aplikasi pada port 3000, dan buat notifikasi bahwa server sedang berjalan:

app.listen(3000, function(){  
    console.log('Terhubung dengan port 3000');
});

Buat fungsi middleware untuk menampilkan kalimat ke terminal server ketika request dijalankan:

var catat = function (req, res, next) {  
    console.log('request ini tercatat');
    next()
};

Fungsi middleware telah di-assign pada variable catat. selanjutnya panggil fungsi tersebut dengan syntax:

app.use(catat);  

Fungsi dan variabel middleware harus dipanggil sebelum fungsi .get dijalankan. Jika dipanggil sesudah .get maka middleware tidak dapat berjalan karena siklus request-response sudah berakhir. Sekarang jalankan server, buka command prompt dan masuk ke direktori latihan.js, lalu ketik 'node latihan.js':
alt

Untuk memanggil response server ketik 'localhost:3000' pada web browser, atau gunakan aplikasi curl: buka command prompt baru, masuk ke direktori curl lalu ketik 'curl http://localhost:3000'. Sekarang cek terminal server, maka akan muncul tulisan 'request ini tercatat'. kalimat ini dicetak oleh fungsi middleware yang penulis buat sebelumnya, middleware terpanggil ketika request dijalankan baik oleh web browser atau curl:
alt

Pada contoh yang kedua penulis akan membuat fungsi middleware tanpa membuat variabel terlebih dahulu, middleware akan langsung berada dalam app.use.
Buat fungsi middleware untuk menampilkan metode request:

app.use(function (req, res, next) {  
    console.log('Tipe Request: ', req.method);
    next();
});

Jalankan server, dan panggil request ke server:
alt Metode request dapat dilihat pada terminal server.

Source code dalam artikel ini bisa dilihat di https://github.com/era-belajar/middleware

Geri Muhano

Web programmer di erabelajar.com. Alumni UIN Jakarta.