Затем мы преобразуем сервер, чтобы обработчик запроса мог вернуть некоторую значимую информацию.
Посмотрим, как это реализовать:
1. Пусть обработчик запроса напрямую возвращает (return ()) информацию, которую они хотят отобразить пользователю через функцию OnRequest.
2. Давайте начнем с того, что позволим обработчику запроса вернуть информацию, которая необходимо отобразить в браузере.
Нам нужно изменить requestHandler.js в следующую форму:
Кода -копия выглядит следующим образом:
функция start () {
console.log ("запрос обработчика" был вызван.
вернуть "Привет, старт";
}
function upload () {
console.log («обработчик запроса» был вызван загрузкой '. »);
вернуть "Привет, загрузка";
}
exports.start = start;
exports.upload = upload;
Аналогичным образом, маршрутизация запроса требует информации, возвращаемой обработчиком запроса на сервер.
Поэтому нам нужно изменить router.js к следующей форме:
Кода -копия выглядит следующим образом:
Функциональный маршрут (ручка, pathname) {
console.log ("ate to Mraking запрос на" + pathname);
if (typeof handle [pathname] === 'function') {
return handle [pathname] ();
} еще {
console.log («Обработчик запроса не найден для» + pathname);
вернуть "404 не найдено";
}
}
exports.route = route;
Как показано в вышеуказанном коде, когда запрос не может быть направлен, мы также возвращаем некоторые связанные сообщения об ошибках.
Наконец, нам нужно рефакторировать наш сервер.
Кода -копия выглядит следующим образом:
var http = require ("http");
var url = require ("url");
Function Start (маршрут, ручка) {
функция OnRequest (запрос, ответ) {
var pathname = url.parse (request.url) .pathname;
console.log ("запрос на" + pathname + "получен.");
response.writehead (200, {"content-type": "text/plain"});
var content = route (ручка, pathname);
response.write (content);
response.end ();
}
http.createserver (onrequest) .listen (8888);
console.log («Сервер начался»);
}
exports.start = start;
Если мы запустим приложение Refactored:
Запрос http: // localhost: 8888/start, браузер выведет «Hello Start».
Запрашивание http: // localhost: 8888/upload выведет «Привет, загрузка».
При запросе http: // localhost: 8888/foo, он выведет «404 не найден».
Это хорошо, и мы узнаем о концепции в следующем разделе: блокировка операций.