Kami kemudian mengubah server sehingga penangan permintaan dapat mengembalikan beberapa informasi yang bermakna.
Mari kita lihat bagaimana mengimplementasikannya:
1. Biarkan penangan permintaan langsung mengembalikan (return ()) informasi yang ingin mereka tampilkan kepada pengguna melalui fungsi OnRequest.
2. Mari kita mulai dengan membiarkan penangan permintaan mengembalikan informasi yang perlu ditampilkan di browser.
Kita perlu memodifikasi requesthandler.js ke formulir berikut:
Salinan kode adalah sebagai berikut:
fungsi start () {
console.log ("permintaan pawang 'start' dipanggil.");
Kembalikan "Hello Start";
}
function unggah () {
console.log ("unggahan unggahan 'pawang' dipanggil.");
mengembalikan "Hello unggah";
}
Exports.start = Mulai;
Exports.upload = unggah;
Demikian pula, routing permintaan memerlukan informasi yang dikembalikan oleh penangan permintaan ke server.
Oleh karena itu, kita perlu memodifikasi router.js ke formulir berikut:
Salinan kode adalah sebagai berikut:
rute fungsi (pegangan, pathname) {
console.log ("Akan merutekan permintaan untuk" + pathname);
if (typeof handle [pathname] === 'function') {
return handle [pathname] ();
} kalau tidak {
console.log ("Tidak ada penangan permintaan yang ditemukan untuk" + pathname);
kembali "404 tidak ditemukan";
}
}
Exports.Route = rute;
Seperti yang ditunjukkan pada kode di atas, ketika permintaan tidak dapat dialihkan, kami juga mengembalikan beberapa pesan kesalahan terkait.
Akhirnya, kita perlu refactor server.js kita untuk memungkinkannya menanggapi konten yang dikembalikan oleh penangan permintaan melalui rute permintaan ke browser, seperti yang ditunjukkan di bawah ini:
Salinan kode adalah sebagai berikut:
var http = membutuhkan ("http");
var url = membutuhkan ("url");
fungsi start (rute, handle) {
function onRequest (request, response) {
var pathname = url.parse (request.url) .pathname;
Console.log ("Permintaan" + Pathname + "Diterima.");
response.writeHead (200, {"tipe konten": "teks/polos"});
var content = rute (handle, pathname);
response.write (konten);
response.end ();
}
http.createServer (onRequest) .listen (8888);
Console.log ("Server telah dimulai.");
}
Exports.start = Mulai;
Jika kita menjalankan aplikasi refactored:
Minta http: // localhost: 8888/start, browser akan menghasilkan "halo start".
Meminta http: // localhost: 8888/unggah akan mengeluarkan "hello unggah".
Saat meminta http: // localhost: 8888/foo, itu akan menghasilkan "404 tidak ditemukan".
Ini terasa enak, dan kita akan belajar tentang konsep di bagian selanjutnya: memblokir operasi.