Luego transformamos el servidor para que el controlador de solicitud pueda devolver alguna información significativa.
Veamos cómo implementarlo:
1. Deje que el controlador de solicitud retroceda directamente (return ()) la información que desean mostrar al usuario a través de la función OnRequest.
2. Comencemos dejando que el controlador de solicitud devuelva la información que debe mostrarse en el navegador.
Necesitamos modificar requesthandler.js al siguiente formulario:
La copia del código es la siguiente:
función start () {
console.log (se llamó al controlador de solicitud 'Inicio'. ");
devolver "hola inicio";
}
function upload () {
console.log ("Solicitar el controlador 'Subiendo' se llamó.");
devolver "hola subiendo";
}
exports.start = inicio;
exports.upload = cargar;
Del mismo modo, el enrutamiento de solicitudes requiere la información devuelta por el controlador de solicitud al servidor.
Por lo tanto, necesitamos modificar Router.js a la siguiente forma:
La copia del código es la siguiente:
ruta de funciones (Handle, rathName) {
console.log ("a punto de enrutar una solicitud para" + rathName);
if (typeof mango [pathname] === 'function') {
return handle [rathName] ();
} demás {
console.log ("No se encontró controlador de solicitud para" + PathName);
regresar "404 no encontrado";
}
}
exports.route = ruta;
Como se muestra en el código anterior, cuando la solicitud no se puede enrutar, también devolvemos algunos mensajes de error relacionados.
Finalmente, necesitamos refactorizar nuestro servidor.js para permitirle responder al contenido devuelto por el controlador de solicitudes a través de la ruta de solicitud al navegador, como se muestra a continuación:
La copia del código es la siguiente:
var http = require ("http");
var url = require ("url");
Function Start (Route, Handle) {
function OnRequest (solicitud, respuesta) {
var rathName = url.Parse (request.url) .pathname;
console.log ("Solicitar" + PathName + "Recibido");
Response.Writehead (200, {"Content-type": "Text/Plain"});
Var content = ruta (manejo, rathname);
Response.write (contenido);
respuesta.end ();
}
http.createServer (OnRequest) .listen (8888);
console.log ("El servidor ha comenzado");
}
exports.start = inicio;
Si ejecutamos la aplicación refactorizada:
Solicitar http: // localhost: 8888/inicio, el navegador emitirá "hola inicio".
Solicitar http: // localhost: 8888/upload emitirá "hola carga".
Al solicitar http: // localhost: 8888/foo, emitirá "404 no encontrado".
Esto se siente bien, y aprenderemos sobre un concepto en la siguiente sección: operaciones de bloqueo.