Nous transformons ensuite le serveur afin que le gestionnaire de demandes puisse renvoyer des informations significatives.
Voyons comment l'implémenter:
1. Laissez le gestionnaire de demande retourner directement (return ()) les informations qu'il souhaite afficher à l'utilisateur via la fonction OnRequest.
2. Commençons par laisser le gestionnaire de demande renvoyer les informations qui doivent être affichées dans le navigateur.
Nous devons modifier requesthandler.js au formulaire suivant:
La copie de code est la suivante:
fonction start () {
Console.log ("Demande Handler 'Start' a été appelé.");
Renvoie "Hello Start";
}
fonction upload () {
Console.log ("Demande Handler 'Upload' a été appelé.");
retourner "bonjour téléchargement";
}
export.start = start;
exports.upload = upload;
De même, le routage de la demande nécessite les informations renvoyées par le gestionnaire de demande sur le serveur.
Par conséquent, nous devons modifier Router.js au formulaire suivant:
La copie de code est la suivante:
Route de fonction (manche, cheminement) {
console.log ("sur le point d'acheter une demande pour" + pathname);
if (typeof handle [pathname] === 'function') {
Handle de retour [pathName] ();
} autre {
console.log ("Aucun gestionnaire de demande trouvé pour" + pathName);
retourner "404 non trouvé";
}
}
export.Route = Route;
Comme indiqué dans le code ci-dessus, lorsque la demande ne peut pas être acheminée, nous renvoyons également certains messages d'erreur connexes.
Enfin, nous devons refacter notre serveur.js pour lui permettre de répondre au contenu renvoyé par le gestionnaire de demande via l'itinéraire de demande vers le navigateur, comme indiqué ci-dessous:
La copie de code est la suivante:
var http = require ("http");
var url = require ("url");
Fonction Start (route, manche) {
fonction onRequest (demande, réponse) {
var pathname = url.parse (request.url) .pathname;
console.log ("Demande pour" + pathname + "reçu.");
Response.WriteHead (200, {"Content-Type": "Text / Plain"});
var contenu = route (manche, cheminement);
Response.Write (Contenu);
réponse.end ();
}
http.createServer (onRequest) .Listen (8888);
console.log ("Server a commencé.");
}
export.start = start;
Si nous exécutons l'application refactorisée:
Demande http: // localhost: 8888 / start, le navigateur sortira "Hello Start".
Demander http: // localhost: 8888 / upload sortira "Hello upload".
Lors de la demande de http: // localhost: 8888 / foo, il sortira "404 non trouvé".
Cela fait du bien et nous apprendrons un concept dans la section suivante: les opérations de blocage.